Kiểm tra số nguyên dương là hoàn hảo hay không?

Yêu cầu
– Nhập vào số nguyên dương n (n > 0) từ cửa sổ màn hình console.
– Kiểm tra số nguyên dương là hoàn hảo hay không?
Số hoàn hảo là số có giá trị bằng tổng các ước số. Ví dụ: 6 = 1 + 2 + 3

Giải thuật
– Dùng vòng lặp do while() để bắt người dùng nhập lại giá trị n nếu nhập giá trị n <= 0 – Dùng vòng lặp for để tính tổng các ước số –> so sánh với giá trị số nguyên để biết được là số hoàn hảo hay không.

Code

package net.vncoding;
import java.util.Scanner;

public class JavaCore {

    public static void main(String[] args) {
        
        int n;
        boolean res;
        Scanner sc;
        do {
            System.out.print("Input n = ");
            sc = new Scanner(System.in);
            n = sc.nextInt();
        }while(n <= 0);
        
        res = check_perfect_num(n);
        if(res) {
            System.out.println(n + " is a perfect number");
        }
        else {
            System.out.println(n + " is not a perfect number");
        }
        
        sc.close();
    }
    
    public static boolean check_perfect_num(int n) {
    	
    	int sum_aliquots = 0;
    	for(int i = 1; i < n; i++) {
            if(n%i == 0) {
        	sum_aliquots += i;
            }
        }
    	if(sum_aliquots == n) {
    	    return true;
    	}
    	else {
    	    return false;
    	}
    }
}

Kết quả

Java - Số hoàn hảo
Java – Số hoàn hảo

Be the first to comment

Leave a Reply