寻找1000以内的完数,完数就是刚好等于这个数的因数之和

java

完数的求解

import java.util.Scanner;
//continue:继续

public class Test{
/*
一个数恰好等于它的因子之和,这个数就是完数,找到所有的完数
*/
public static void main(String[] args){

//第一步:1000内的所有数遍历
//第二步:求出每一个数的所有因数并且让他们相加
//第三步:和该数相比较,如果相等则是完数,反之就不是

for(int i = 1; i <= 1000; i++){ //完成了第一步

int sum = 0;//所有因数相加的和每一次大循环都会重新归零

for(int j = 1; j <= (i/2);j++){
if(i % j == 0){ //找出这个数的所有因数并且相加
sum += j;
}
}

if(sum == i){//判断是否为完数,结束大循环
System.out.println(i);
}
}

}

}

 

 

posted @ 2022-02-27 19:53  lycheezhang  阅读(27)  评论(0)    收藏  举报