完数:它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身;
代码中的(1)与(2)要着重思考原因,尤其是(1)。
/*
求1000以内的完数
*/
class WanShu{
public static void main(String[] args){
int factor = 0;
for(int i = 1;i <= 1000;i++){
for(int j = 1;j <= i / 2;j++){//(1)
if(i % j == 0){
factor += j;
}
}
if(factor == i){
System.out.print(i + "\t");
}
factor = 0;//(2)
}
}
}