完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程找出10000以内的所有完数。
提示:注意循环的嵌套边界。
public class Prog9 {
public static void main(String[] args) {
int n = 10000;
compNumber(n);
}
// 求完数
private static void compNumber(int n) {
System.out.println(n + "以内的完数:");
for (int i = 1; i < n + 1; i++) {
int sum = 0;
for (int j = 1; j < i / 2 + 1; j++) {
if ((i % j) == 0) {
sum += j;
}
}
if (sum == i) {
System.out.print(i + " ");
}
}
}
}