public class MyClass {
private static int SumNumberProperDivisors(final int num) {
int sum = 0;
for (int i = 1, j; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
sum += i + (i == (j = num / i) ? 0 : j);
System.out.print(i + ", " + num / i + ", ");
}
}
return sum - num;
}
public static void main(String args[]) {
int num = 24;
int sum = SumNumberProperDivisors(num);
System.out.println("num = " + num + " sum = " + sum + " abundant = " + (sum > num ? "true" : "false"));
num = 21;
sum = SumNumberProperDivisors(num);
System.out.println("num = " + num + " sum = " + sum + " abundant = " + (sum > num ? "true" : "false"));
}
}
/*
run:
1, 24, 2, 12, 3, 8, 4, 6, num = 24 sum = 36 abundant = true
1, 21, 3, 7, num = 21 sum = 11 abundant = false
*/