题目描述
解题思路
要想使三个数最终相同,就先给三个数排个序,令A > B > C, 若(B-A)%2 == 0,则使用操作2使B和C相等,再使用操作1使ABC均相等.
若(B-A)%2 != 0,则先使用操作1让B和C的差值为0或者2的倍数,再使用操作2+操作1使三个数相等.
代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int c = input.nextInt();
int temp = 0;
//从小到大排序 c < b < a
if (a < b) {
temp = a;
a = b;
b = temp;
}
if (a < c) {
temp = a;
a = c;
c = temp;
}
if (b < c) {
temp = b;
b = c;
c = temp;
}
int num = 0;
if ((b - c)%2 == 0) {
num = (b-c)/2 + num;
c = b;
}else if ((b - c)%2 == 1){
a++;
c++;
num++;
num = (b-c)/2 + num;
}
num = num + a - b;
System.out.println(num);
}
}

该博客介绍了如何通过算法解决找到使三个数相等所需的最小操作次数的问题,包括题目描述、解题思路、具体的代码实现及运行结果展示。

1054

被折叠的 条评论
为什么被折叠?



