如何找出 1000 以內的 完數

2022-08-12 06:33:17 字數 469 閱讀 1551

如果乙個數恰好等於它的因子之和,那麼這個數就被稱為「完數」,如 6=1+2+3。程式設計找出 1000 以內的所有「完數」。

外層迴圈 998 次,每次迴圈得到的 $i 傳入下個迴圈內,內部迴圈求解出符合 $i 整除 $k 等於 0 的數,如果能夠整除,那麼說明 $k 是 $i 的乙個因子,則用 $sum 累加,直到 $sum+1 等於 $i 條件成立,說明 $i 是乙個「完數」。需要注意的是,因為 $sum 求解出的因子是不包括 1 的,所以還需要額外的加 1 到 $sum 中,並且 $i 的乙個因子是不會大於 $i/2 的,所以內部迴圈判斷是否繼續迴圈的條件為 $i/2。

實現**如下:

<?php

for($i=2;$i<1000;$i++)

}if($sum + 1 == $i)

}

程式的執行結果為

6 28 496

程式設計找出1000以內的所有完數

關鍵檔案 homework2.cpp 定義控制台應用程式的入口點。程式設計找出1000以內的所有完數 注1 乙個數如果恰好等於它的因子之和,這個數就稱為 完數 例如6 1 2 3.注2 因子即是約數,即可以整除這個數的數 注3 完全數 perfect number 又稱完美數或完備數,是一些特殊的自...

C語言 找出1000以內的所有完數

例55 乙個數如果恰好等於它的因子之和,這個數就稱為完數,c語言程式設計找出1000之內的所有完數,並輸出其因子。解題思路 6的因子為1,2,3,而6 1 2 3,因此6是 完數 1不用判斷,直接從2開始,因為1的因子只有1 源 演示 include 標頭檔案 intmain 主函式 if s nu...

找1000以內的完數

完數,是一些特殊的自然數,它所有的真因子 即除了自身以外的因子 的和,恰好等於它本身。所以這裡說明一下,1不是完數,因為1只有自身這乙個因子 第乙個完全數是6,第二個完全數是28,第三個完全數是496,後面的完全數還有8128 33550336等等。所以程式迴圈直接從數字2開始判斷 及執行結果如下 ...