基础编程50题

【题目09】找完数

2017-03-25  本文已影响40人  Xplorist

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

package com.share.test01_10;

/**
 * 【程序9】题目:<br>
 * 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。<br>
 * 例如6=1+2+3.编程找出1000以内的所有完数。
 * 
 * @author brx
 */
public class Test09 {
    public static void main(String[] args) {
        test();
    }

    /**
     * 思路:将除了本身之外的因数之和找出来和该数本身比较,<br>
如果相同则就是完数,直接将思路写出来就行了
     */
    public static void test() {
        System.out.println("1000以内的完数:");
        for (int i = 1; i < 1000; i++) {
            int sum = 0;
            for (int j = 1; j < i; j++) {
                if (i % j == 0) {
                    sum += j;
                }
            }
            if (sum == i) {
                System.out.print(i + " ");
            }
        }
    }
}

上一篇下一篇

猜你喜欢

热点阅读