Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java tìm số hoàn hảo (Perfect Number)

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