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ả
Leave a Reply
You must be logged in to post a comment.