Trong bài viết này, chúng ta sẽ tìm hiểu cách tính BCNN (Bội chung nhỏ nhất) của hai số trong Java. BCNN của hai số là số nguyên dương nhỏ nhất chia hết cho cả hai số.
Dưới đây là minh họa:
Đầu vào
Giả sử đầu vào:
24 và 18
Đầu ra
Kết quả mong đợi:
BCNN của hai số là 72
Thuật toán
Bước 1 - BẮT ĐẦU Bước 2 - Khai báo 3 số nguyên: input_1, input_2, lcm Bước 3 - Nhập hai số từ người dùng hoặc hardcode Bước 4 - Đọc giá trị Bước 5 - Dùng vòng lặp while từ số lớn hơn trong hai số, kiểm tra 'lcm' chia hết cho cả hai. Nếu đúng in ra và dừng. Bước 6 - Tăng lcm Bước 7 - DỪNG
Ví dụ 1: Nhập từ bàn phím
Người dùng nhập dựa trên lời nhắc. Thử trực tiếp trong coding ground.
import java.util.Scanner;
public class LCM {
public static void main(String[] args) {
int input_1, input_2, lcm;
Scanner scanner = new Scanner(System.in);
System.out.println("A scanner object has been defined");
System.out.println("Enter the first number:");
input_1 = scanner.nextInt();
System.out.println("Enter the second number:");
input_2 = scanner.nextInt();
lcm = (input_1 > input_2) ? input_1 : input_2;
while (true) {
if (lcm % input_1 == 0 && lcm % input_2 == 0) {
System.out.printf("The LCM of %d and %d is %d.", input_1, input_2, lcm);
break;
}
++lcm;
}
}
}
Đầu ra
A scanner object has been defined Enter the first number: 24 Enter the second number: 18 The LCM of 24 and 18 is 72.
Ví dụ 2: Giá trị định nghĩa trước
Hai số đã được định nghĩa trước.
public class LCM {
public static void main(String[] args) {
int input_1, input_2, lcm;
input_1 = 24;
input_2 = 18;
System.out.println("The first number is " + input_1);
System.out.println("The second number is " + input_2);
lcm = (input_1 > input_2) ? input_1 : input_2;
while (true) {
if (lcm % input_1 == 0 && lcm % input_2 == 0) {
System.out.printf("\nThe LCM of %d and %d is %d.", input_1, input_2, lcm);
break;
}
++lcm;
}
}
}
Đầu ra
The first number is 24 The second number is 18 The LCM of 24 and 18 is 72.