java3.3(计算 最大公约数)编写一个方法,返回未指定数量的整数的最大公约数。方法定义指定如下: public static int gcd(int... numbers) 编写一个测试程序,提示用户输入五个数字,调用方法找到这些数字的最大公约数,并显示最大公约数。
时间: 2024-09-29 17:08:25 浏览: 47
java代码-编写求最大公约数和最小公倍数的程序
在Java中,你可以使用欧几里得算法(Euclidean Algorithm)来计算一组整数的最大公约数(GCD)。以下是`gcd`方法的实现:
```java
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入五个数字:");
// 获取用户输入并存储在一个数组中
int[] numbers = new int[5];
for (int i = 0; i < 5; i++) {
numbers[i] = scanner.nextInt();
}
// 调用gcd方法计算最大公约数
int result = findGCD(numbers);
System.out.printf("这五个数字的最大公约数是:%d%n", result);
}
/**
* 使用欧几里得算法计算一组整数的最大公约数
* @param numbers 需要计算最大公约数的一组整数
* @return 这些整数的最大公约数
*/
public static int findGCD(int... numbers) {
if (numbers.length == 0) return 0;
int firstNumber = numbers[0], secondNumber = numbers[1];
for (int i = 2; i < numbers.length; i++) {
firstNumber = gcd(firstNumber, numbers[i]);
if (firstNumber == 1) break;
}
return firstNumber;
}
/**
* 欧几里得算法计算两个数的最大公约数
* @param a 第一个整数
* @param b 第二个整数
* @return a和b的最大公约数
*/
private static int gcd(int a, int b) {
while (b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
}
```
当你运行这个程序,它会提示用户输入五个数字,然后计算并显示它们的最大公约数。
阅读全文