Java经典算法40例(九)

一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如6=1+2+3。
求1000以内的完数。

代码:

/**
 * 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3
 * @author cheng
 *
 */
public class Nine {
    public void wanshu(){
        int sum;
        for(int i=2;i<=1000;i++){
            sum=0;
            for(int j=1;j<=i/2;j++){
                if(i%j==0)
                    sum=sum+j;
            }   
            if(sum==i)
                System.out.println(i+" ");
        }
    }

    public static void main(String[] args){
        Nine nine=new Nine();
        nine.wanshu();
    }
}

输出结果:

6 
28 
496 

你可能感兴趣的:(java)