思路:
与求素数的思路一样,用这个数之前的数对该数求余数,并将对应余数为0的数加起来即为因子之和
代码实现:
public class Test {
public static void main(String args[]){
int i, j;
System.out.print("1000之内的完数:");
for(i = 1; i <= 1000; i++){
int sum = 0;
for(j = 1; j < i; j++){
if(i % j == 0)
sum += j;
}
if(i == sum)
System.out.print(i+" ");
}
}
}
运行结果截图: