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

โปรแกรม Java สำหรับตัวหารร่วมของตัวเลขสองตัว


ต่อไปนี้เป็นตัวอย่างสำหรับตัวหารร่วมของตัวเลขสองตัวในภาษาจาวา -

ตัวอย่าง

public class Demo{
   static int find_gcd(int val_1, int val_2){
      if (val_1 == 0)
      return val_2;
      return find_gcd(val_2%val_1,val_1);
   }
   static int common_divisors(int val_1,int val_2){
      int no = find_gcd(val_1, val_2);
      int result = 0;
      for (int i=1; i<=Math.sqrt(no); i++){
         if (no%i==0){
            if (no/i == i)
               result += 1;
            else
               result += 2;
         }
      }
      return result;
   }
   public static void main(String args[]){
      int val_1 = 68, val_2 = 34;
      System.out.println("The common divisors between the two numbers is ");
      System.out.println(common_divisors(val_1, val_2));
   }
}

ผลลัพธ์

The common divisors between the two numbers is
4

คลาสชื่อ Demo มีฟังก์ชันสแตติกที่รับค่าสองค่าและส่งกลับตัวหารร่วมมากที่มากที่สุดโดยใช้การเรียกซ้ำ ฟังก์ชันอื่นเรียกฟังก์ชันตัวหารร่วมมากนี้และวนซ้ำตัวเลขระหว่าง 1 ถึงรากที่สองของตัวหารร่วมมากสุด

ถัดไป เงื่อนไขคือจำนวนโมดูลัสของค่าที่วนซ้ำควรเท่ากับศูนย์ และถัดไป ตัวเลขหารด้วยค่าที่วนซ้ำควรเท่ากับค่าที่วนซ้ำ จากนั้นผลลัพธ์ (ซึ่งเริ่มต้นเป็น 0 ในตอนแรก) จะเพิ่มขึ้นตาม 1. หากเงื่อนไขไม่เป็นที่พอใจ ผลลัพธ์จะเพิ่มขึ้น 2 ในฟังก์ชันหลัก ค่าเริ่มต้นสองค่าจะเริ่มต้น และฟังก์ชันข้างต้นจะถูกเรียกใช้ ผลลัพธ์ที่เกี่ยวข้องจะปรากฏบนหน้าจอ