一个数如果恰好等于它的因子之和,这个数就称为 "完数 "

题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ", 请寻找1000以内的完数
例如6=1+2+3.编程找出1000以内的所有完数。

public class 第九题寻找完数 {
    public static void main(String[] args) {
        for(int i=1; i<1000; i++) {
        if(i==getFactorSum(i)) {
            System.out.println(i);
        }
    }
}

    private static int getFactorSum(int n) {
        //计算因子之和
        int sum = 0;
        for(int i=1; i<n; i++) {
            if(n % i == 0) {
                sum += i;
            }
        }
        return sum;
    }
}

 

posted @ 2019-05-30 15:01  何茫然zju  阅读(7373)  评论(0编辑  收藏  举报