完数 因子之和等于他本身

package com.test;

public class Wanshu {
public static void main(String[] args) {
int i,j,sum; //sum用来存放因子之和
for(i=1;i<1000;i++){ //对1到1000以内的数依次尝试
sum = 0; //给sum赋值,同时也是对上一次的值清空
for(j=1;j<=i/2;j++){ //查找因子
if(i%j==0) { // 如果是因子
sum+=j; //把当前的因子累加到sum中
}
}

if(sum==i) { //判断是不是完数,即因子之和等于自身
System.out.print(i+" its factors are: "); //是完数,输出

for(j=1;j<=i/2;j++){ //再次找出这个完数的因子
if(i%j==0) //输出各个因子
System.out.print(j+", ");
}

System.out.println();

}
}
}
}

原文地址:https://www.cnblogs.com/hikoukay/p/7138876.html