Trong bài viết này, chúng ta sẽ hiểu cách kiểm tra xem một số có phải là số hoàn hảo hay không. Số hoàn hảo là số nguyên dương bằng tổng các ước số của nó (không kể chính nó).
Dưới đây là minh họa:
Đầu vào
Giả sử đầu vào là:
Enter the number: 496
Đầu ra
Đầu ra mong muốn:
The number 496 is a perfect number
Thuật toán
Bước 1 - START Bước 2 - Khai báo hai giá trị long my_input, my_sum và integer i. Bước 3 - Đọc giá trị cần thiết từ người dùng / định nghĩa giá trị Bước 4 - Sử dụng điều kiện while, lặp cho đến khi đạt điều kiện chỉ định. Bước 5 - Kiểm tra nếu 'my_input % i' không dư. Nếu có, cộng 'i' vào 'my_sum' và gán cho 'my_sum'. Tăng giá trị 'i'. Bước 6 - Nếu 'my_sum' bằng đầu vào, đó là số hoàn hảo, ngược lại không phải. Bước 7 - Hiển thị kết quả Bước 8 - Stop
Ví dụ 1
Ở đây, đầu vào được nhập bởi người dùng dựa trên lời nhắc. Bạn có thể thử ví dụ này trực tiếp trong công cụ coding ground.
import java.util.Scanner;
public class PerfectNumber {
public static void main(String args[]) {
long my_input, my_sum;
int i;
my_sum = 0;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined");
System.out.print("Enter the number: ");
my_input = my_scanner.nextLong();
i = 1;
while (i <= my_input / 2) {
if (my_input % i == 0) {
my_sum = my_sum + i;
}
i++;
}
if (my_sum == my_input)
System.out.println("The number " + my_input + " is a perfect number");
else
System.out.println("The number " + my_input + " is not a perfect number");
}
}
Kết quả
Required packages have been imported A reader object has been defined Enter the number: 496 The number 496 is a perfect number
Ví dụ 2
Ở đây, số nguyên đã được định nghĩa trước, và giá trị của nó được truy xuất và hiển thị trên console.
import java.util.Scanner;
public class PerfectNumber {
public static void main(String args[]) {
long my_input, my_sum;
int i;
my_sum = 0;
my_input = 496;
System.out.println("The number is defined as " + my_input);
i = 1;
while (i <= my_input / 2) {
if (my_input % i == 0) {
my_sum = my_sum + i;
}
i++;
}
if (my_sum == my_input)
System.out.println("The number " + my_input + " is a perfect number");
else
System.out.println("The number " + my_input + " is not a perfect number");
}
}
Kết quả
The number is defined as 496 The number 496 is a perfect number