/*
一个数如果恰好等于他的因子之和,这个数就是完数,例如:6=1+2+3,编程找出1000以内所有的完数
*/
class 完数 {
public static void main(String[] args) {
//循环找出1~1000.
for (int i = 1; i <= 1000 ; i++) {
//打标记,初始化因子和为0,计算每个数的因子和之前都要初始化
int sum = 0;
//找出每个数的因子,并求和
for (int j = 1; j < i; j++) {//为了提高效率可以写成for (int j = 2;j <= i / 2; j++)
if (i % j == 0){
sum += j;
}
}
//如果该数与该数的因子之和相等,该数就是完数,并输出
if (i == sum){
System.out.println(i);
}
}
}
}