Java程序用于计算两个以上(或数组)数字的最大公约数


以下是用于计算两个以上数字的最大公约数的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("The GCD of the elements in the array is ");
      System.out.println(find_gcd(my_arr, no));
   }
}

输出

The GCD of the elements in the array is
1

名为Demo的类包含一个main函数,该函数接收两个值。如果第一个值为0,则返回第二个值作为输出。否则,将编写一个递归函数来计算两个元素的最大公约数。

接下来,定义另一个静态函数,该函数将一个数组和另一个整数值作为参数。将数组的第一个元素分配给名为“result”的变量,并且“for”循环迭代从1到作为参数传递给函数的整数值的元素。在该数组元素和结果上调用最大公约数函数。此输出将分配给“result”变量本身。如果“result”的值为1,则输出为1,否则返回“result”的值。

在main函数中,定义了一个整型数组,并将数组的长度分配给特定值。在数组元素和长度上调用最大公约数函数。相关数据显示在控制台上。

更新于:2020年7月4日

505 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告