求1000之内的所有完数
完数:一个数刚好等于它的因子之和。
思路分析:对每个数从1的该数之间寻找因子(类似于素数的找因子),将该数的所有因数进行相加所得的和与该数进行比较。若相等,则其为完数。
代码入下:
public class wanshu {
public static void main(String args[]) {
int i=1,j=1;
for(i=1;i<=1000;i++) {//对1到1000之间的所有数进行遍历找其因子
int number=0;//每次对因子求和之后要初始化
for(j=1;j<i;j++) {//找数的因子
if(i%j==0) {//求余为0的即为该数因子
number+=j;//因子求和
}
}
if(number==i) {//因子和与该数相等,即为完数
System.out.println(number);
}
}
}
}