Java基 础写法 已知三个正整数a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。 请问满足上述条件的x的最小值是多少?数据保证x有解。 【输入】 一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。 【输出】 一个整数,即满足条件的x的最小值。 【输入样例】 300 262 205 【输出样例】 19
时间: 2024-03-21 10:40:52 浏览: 49
以下是基础写法的实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int x = 1;
while (true) {
if (a % x == b % x && b % x == c % x) {
System.out.println(x);
break;
}
x++;
}
}
}
```
这个程序的实现原理是从1开始不断增加x的值,直到找到一个x,使得a、b、c除以x的余数相同,然后输出这个x的值。这个程序的时间复杂度是O(N),其中N是a、b、c中的最大值,因此当a、b、c非常大时,程序的运行速度会比较慢。
阅读全文