题目:
一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数
编程分析:找出一个数的所有因子,再判断因子和是否等于这个数 / 因子为能被这个数整除的数
代码如下:
public class Demo5 {
public static void main(String[] args) {
int sum=0; //定义所有因子的和
for(int i=1;i<=1000;i++){
sum=0; //每次循环,sum重新归零
for(int n=1;n<i;n++){ //找出这个数的所有因子
if(i%n==0){
sum=sum+n; //所有的因子相加
}
}
if(i==sum){ //判断这个数是否是完数,既所有因子之和与它本身是否相等
System.out.println(sum); //打印完数
}
}
}
}
代码运行结果如下: