Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java สำหรับ GCD ที่มีตัวเลข (หรืออาร์เรย์) มากกว่าสองตัว


ต่อไปนี้เป็นโปรแกรม Java สำหรับ GCD ที่มีตัวเลขมากกว่าสองตัว -

ตัวอย่าง

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 มีฟังก์ชันหลักที่รับค่าสองค่า หากค่าแรกเป็น 0 ค่าที่สองจะถูกส่งกลับเป็นเอาต์พุต มิฉะนั้น ฟังก์ชันแบบเรียกซ้ำจะถูกเขียนขึ้นเพื่อคำนวณตัวหารร่วมมากขององค์ประกอบทั้งสอง

ถัดไป มีการกำหนดฟังก์ชันสแตติกอื่นที่ใช้อาร์เรย์และค่าจำนวนเต็มอื่นเป็นพารามิเตอร์ องค์ประกอบแรกของอาร์เรย์ถูกกำหนดให้กับตัวแปรชื่อ "ผลลัพธ์" และ "for" จะวนซ้ำองค์ประกอบตั้งแต่ 1 ถึงค่าจำนวนเต็มที่ส่งผ่านเป็นพารามิเตอร์ไปยังฟังก์ชัน ฟังก์ชันตัวหารร่วมที่ยิ่งใหญ่ที่สุดถูกเรียกใช้บนองค์ประกอบอาร์เรย์นี้และผลลัพธ์ ผลลัพธ์นี้ถูกกำหนดให้กับตัวแปร 'ผลลัพธ์' เอง หากค่าของ 'ผลลัพธ์' คือ 1 ผลลัพธ์จะเป็น 1 มิฉะนั้น ค่าของ 'ผลลัพธ์' จะถูกส่งคืน

ในฟังก์ชันหลัก กำหนดจำนวนเต็มอาร์เรย์และความยาวของอาร์เรย์ถูกกำหนดเป็นค่าเฉพาะ ฟังก์ชันตัวหารร่วมมากสุดถูกเรียกใช้บนองค์ประกอบอาร์เรย์และความยาว ข้อมูลที่เกี่ยวข้องจะแสดงบนคอนโซล