Check Perfect Number in Java
Check whether a number is a perfect number (sum of proper divisors equals the number).
IntermediateModule 2: Conditional ProgramsExample 6 of 20
check-perfect-number.java
1import java.util.Scanner;23public class Main {4 public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);67 System.out.print("Enter a number: ");8 int n = sc.nextInt();910 int sum = 0;11 for (int i = 1; i <= n / 2; i++) {12 if (n % i == 0) {13 sum += i;14 }15 }1617 if (sum == n && n != 0) {18 System.out.println(n + " is a Perfect Number");19 } else {20 System.out.println(n + " is not a Perfect Number");21 }2223 sc.close();24 }25}
Output
Enter a number: 28 28 is a Perfect Number
What's going on
We sum all positive divisors less than the number; if this sum equals the number, it is perfect.