先说三个概念:
盈数:当一个自然数的所有真因子的和大于该自然数,该自然数就是盈数。
亏数:当一个自然数的所有真因子的和小于该自然数,该自然数就是亏数。
完全数:当一个自然数的所有真因子的和等于该自然数,该自然数就是完全数。
真因子:不包括这个数本身的约数就是真因子,也叫真因数。
例如:
6=1+2+3
496 = 1+2+4+8+16+31+62+124+248;
求一定范围内的完全数:
public static void PerfectNum(long max){
int sum ;
for (int i = 1; i < max; i++) {
sum=0;
for (int j = 1; j < i; j++) {
if (i%j==0){
sum+=j;
}
}
if (sum==i){
System.out.println(i);
}
}
}