求1000以内的完全数
若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。
例如,6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124
先计算所选取的整数a(a的取值1~1000)的因数,将各因数累加于m,若m等于a,则可确认a为完全数
public class Perfect {
public void perfect(int num) {
for (int j = 1; j <= num; j++) {
int sum = 1;
for (int i = 2; i <= j / 2; i++) {
if (j % i == 0) {
sum += i;
}
}
if (sum == j) {
System.out.println(j + "\t");
}
}
}
public static void main(String[] args) {
Perfect p = new Perfect();
p.perfect(10000);
}
}