題目:一個數如果恰好等於它的因子之和,這個數就稱爲"完數"。例如6=1+2+3。編程找出1000以內的所有完數。

public class Test {

    public static void main(String[] args) {
        // 第一層循環打印1000以內的數
        for (int i = 1; i <= 1000; i++) {
            // 定義保存因子之和的數
            int flag = 0;
            // 第二層循環列出所有的被除數
            for (int m = 1; m < i; m++) {
                // 如果他們的餘數爲0則將所有的被除數相加,結果保存起來
                if (i % m == 0) {
                    // 相加所有被除數
                    flag += m;
                }
            }
            // 判斷如果被除數的和等於除數,則打印
            if (flag == i) {
                System.out.println(i);
            }
        }
    }
}
發佈了44 篇原創文章 · 獲贊 28 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章