代码:
public class Test {
public static void main(String[] args) {
// 测试数据
int[] arr = {12, 4, 24, 36};
// 测试
System.out.println(mngcd(arr));
}
// 计算多个数的最大公约数
public static int mngcd(int[] arr) {
// 存储最大公约数
int num = 0;
// 遍历数组中所有的数字去计算最大公约数
for (int i : arr){
num = gcd(i, num);
}
return num;
}
// 使用欧几里得算法(辗转相除法)计算两数的最大公约数
public static int gcd(int a, int b) {
while (b != 0) {
int c = a % b;
a = b;
b = c;
}
return a;
}
}
结果:
4