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