以下是用于两个以上GCD的Java程序-
public class Demo{ static int gcd_of_nums(int val_1, int val_2){ if (val_1 == 0) return val_2; return gcd_of_nums(val_2 % val_1, val_1); } static int find_gcd(int arr[], int no){ int result = arr[0]; for (int i = 1; i < no; i++){ result = gcd_of_nums(arr[i], result); if(result == 1){ return 1; } } return result; } public static void main(String[] args){ int my_arr[] = { 7, 49, 177, 105, 119, 42}; int no = my_arr.length; System.out.println("数组中元素的GCD为"); System.out.println(find_gcd(my_arr, no)); } }
输出结果
数组中元素的GCD为 1
名为Demo的类包含一个带有两个值的主函数。如果第一个值为0,则第二个值作为输出返回。否则,将编写一个递归函数来计算两个元素的最大公约数。
接下来,定义另一个静态函数,该静态函数采用数组和另一个整数值作为参数。数组的第一个元素分配给一个名为“结果”的变量,“ for”循环将元素从1迭代到作为参数传递给函数的整数值。最大的除数函数在此数组元素上调用,并返回结果。此输出分配给“结果”变量本身。如果'result'的值为1,则输出为1,否则返回'result'的值。
在main函数中,定义了一个数组整数,并将数组的长度分配给特定值。最大的公约数函数是在数组元素和长度上调用的。相关数据将显示在控制台上。