Java程式查詢兩個數的最小公倍數
在本文中,我們將學習如何使用Java查詢兩個數字的最小公倍數。L.C.M.或最小公倍數是兩個值的最小正值,它是這兩個值的倍數。
例如,3和4的倍數是
3 → 3, 6, 9, 12, 15 ... 4 → 4, 8, 12, 16, 20 ...
這兩個數的最小倍數是12,因此3和4的最小公倍數是12。
我們將透過兩種不同的方法學習解決這個問題:增量方法和使用最大公約數 (GCD)的基於公式的方法。
問題陳述
編寫一個Java程式來查詢兩個數字的最小公倍數。以下是相同內容的演示 -
輸入
Enter first number ::
6
Enter second number ::
10
輸出
LCM of given numbers is :: 1059
不同的方法
以下是查詢兩個數字的最小公倍數的不同方法 -
使用增量方法
以下是使用增量方法查詢兩個數字的最小公倍數的步驟 -
- 首先,從java.util包匯入Scanner類以允許使用者輸入。
- 初始化整數變數a、b、max、step和lcm。
- 例項化Scanner物件以讀取使用者的輸入。
- 要求使用者輸入兩個整數,並將它們儲存在a和b中。
- 確定最大值:識別兩個數字中較大的一個,並將其分配給max和step。
- 使用while迴圈檢查可被a和b整除的最小數字
- 如果max可被a和b整除,則將lcm設定為max並退出迴圈。
- 如果不是,則將max增加step並繼續檢查。
- 將計算出的LCM列印到控制檯,並關閉Scanner物件以防止資源洩漏。
示例
以下是查詢兩個數字的最小公倍數的Java程式 -
import java.util.Scanner;
public class LCMOfTwoNumbers {
public static void main(String args[]){
int a, b, max, step, lcm = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Enter first number ::");
a = sc.nextInt();
System.out.println("Enter second number ::");
b = sc.nextInt();
if(a > b){
max = step = a;
}
else{
max = step = b;
}
while(a!= 0) {
if(max % a == 0 && max % b == 0) {
lcm = max;
break;
}
max += step;
}
System.out.println("LCM of given numbers is :: "+lcm);
}
}
輸出
Enter first number :: 6 Enter second number :: 10 LCM of given numbers is :: 30
使用Math.gcd()方法
以下是使用Math.gcd()計算LCM的Java程式 -
- 從java.util包匯入Scanner類。
- 宣告兩個整數變數a和b以儲存使用者輸入的值,以及一個變數lcm以儲存結果。
- 建立一個Scanner物件以讀取使用者的輸入。
- 提示使用者輸入兩個數字,並將這些值賦給a和b。
- 使用公式計算LCM:LCM(a, b) = (a * b) / GCD(a, b),其中GCD使用Math.gcd()方法獲得。
- 在控制檯中顯示計算出的LCM。
- 關閉程式。
示例
以下是查詢兩個數字的最小公倍數的Java程式 -
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
int a, b, lcm;
Scanner sc = new Scanner(System.in);
System.out.println("Enter first number ::");
a = sc.nextInt();
System.out.println("Enter second number ::");
b = sc.nextInt();
// Calculate LCM using the formula: LCM(a, b) = (a * b) / GCD(a, b)
lcm = (a * b) / gcd(a, b);
System.out.println("LCM of given numbers is :: " + lcm);
}
// Method to calculate GCD
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
}
輸出
Enter first number ::
33
Enter second number ::
44
LCM of given numbers is :: 132
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP