兩個數字的公約數的 Java 程式


在本文中,我們將學習如何使用 Java 查詢兩個數字的公約數。該程式將使用遞迴方法計算兩個數字的最大公約數 (GCD),然後確定這兩個數字共享多少個約數。輸出將顯示公約數的總數。

問題陳述

編寫一個 Java 程式來查詢並計算兩個給定數字的公約數。下面是相同的演示 -

輸入

val_1= 68
val_2= 34

輸出

The common divisors between the two numbers is
4

查詢兩個數字的公約數的步驟

以下是查詢兩個數字的公約數的步驟 -

  • 定義一個名為 Demo 的類,其中包含靜態方法。
  • 建立一個 find_gcd 方法,使用遞迴計算兩個數字的 GCD。
  • 建立一個 common_divisors 方法,使用 GCD 計算公約數。
  • 使用 for 迴圈 迭代從 1 到 GCD 平方根的數字。
  • 使用 if-else 語句 檢查 GCD 是否可以被當前數字整除
  • 如果可以整除並且除數等於商,則將計數加 1。
  • 否則,將計數加 2。
  • 在主方法中,初始化兩個數字並呼叫 common_divisors 方法
  • 列印公約數的總數。

兩個數字的公約數的 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。在主函式中,初始化兩個值,並在其上呼叫上述函式。相關結果顯示在螢幕上。

更新於: 2024-11-18

563 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告