Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java cho GCD của nhiều hơn hai (hoặc mảng) số

Sau đây là chương trình Java cho GCD có nhiều hơn hai số -

Ví dụ

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));
   }
}

Đầu ra

The GCD of the elements in the array is
1

Một lớp có tên Demo chứa một hàm chính nhận hai giá trị. Nếu giá trị đầu tiên là 0, giá trị thứ hai được trả về dưới dạng đầu ra. Nếu không, một hàm đệ quy được viết để tính ước số chung lớn nhất của hai phần tử.

Tiếp theo, một hàm tĩnh khác được định nghĩa lấy một mảng và một giá trị số nguyên khác làm tham số. Phần tử đầu tiên của mảng được gán cho một biến có tên là ‘result’ và vòng lặp ‘for’ lặp qua các phần tử từ 1 đến giá trị số nguyên đã được truyền dưới dạng tham số cho hàm. Hàm ước số chung lớn nhất được gọi trên các phần tử mảng này và là một kết quả. Đầu ra này được gán cho chính biến ‘kết quả’. Nếu giá trị của ‘kết quả’ là 1 thì kết quả đầu ra là 1, ngược lại giá trị của ‘kết quả’ sẽ được trả về.

Trong hàm main, một số nguyên của mảng được xác định và độ dài của mảng được gán cho một giá trị cụ thể. Hàm ước số chung lớn nhất được gọi trên các phần tử và độ dài của mảng. Dữ liệu có liên quan được hiển thị trên bảng điều khiển.