求n个整数的最大公约数 java
时间: 2024-09-06 19:07:21 浏览: 77
Java求两个正整数的最大公约数和最小公倍数
5星 · 资源好评率100%
求解n个整数的最大公约数(Greatest Common Divisor, GCD)在Java中可以使用欧几里得算法(Euclidean Algorithm),特别是当涉及多个数字时,通常采用更高效的“更相减损术”或者辗转相除法。这里提供一个简单的示例,展示如何计算两个数的最大公约数,然后递归地应用到所有输入上:
```java
public class Main {
public static int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
public static void main(String[] args) {
int[] numbers = {18, 24, 36}; // 输入的整数数组
int result = findGCD(numbers);
System.out.println("The greatest common divisor of the numbers is: " + result);
// 辅助函数用于计算n个数的最大公约数
private static int findGCD(int[] arr) {
int num1 = arr[0];
for (int i = 1; i < arr.length; i++) {
num1 = gcd(num1, arr[i]);
if (num1 == 1) {
break; // 如果找到1,则所有后续数字与已知最大公约数无关
}
}
return num1;
}
}
}
阅读全文