如果乙個整數的所有因子(包括1,但不包括本身)之和與該數相等,則稱這個數為完數。例如6=1+2+3,所以6是乙個完數。編寫乙個函式isws(m)判斷m是否為完數,函式的返回值是邏輯型。主調程式顯示1000以內的完數,如圖所示。
判斷乙個數m是否是完數,演算法思想是:將m依次除以1~m/2,如果能整除,就是m的乙個因子,進行累積;迴圈結束,若m與累加因子之和相等,m就是完數。
這裡我偷了個懶沒畫list,大家可以參照我的改一下
dim a%()
private
sub form_click()
print "1000以內的完數為:"
for i = 1
to1000
if isws(i) then
print i; "=1";
for j = 1
toubound(a)
print "+"; a(j);
next j
print
endifnext i
endsub
function isws(m) as
boolean
dim s%
s = 0
for i = 1
to m \ 2
if m mod i = 0
then
redim
preserve a(j)
a(j) = i
j = j + 1
s = s + i
endifnext i
if m = s then isws = true
endfunction
找1000以內的完數
完數,是一些特殊的自然數,它所有的真因子 即除了自身以外的因子 的和,恰好等於它本身。所以這裡說明一下,1不是完數,因為1只有自身這乙個因子 第乙個完全數是6,第二個完全數是28,第三個完全數是496,後面的完全數還有8128 33550336等等。所以程式迴圈直接從數字2開始判斷 及執行結果如下 ...
如何找出 1000 以內的 完數
如果乙個數恰好等於它的因子之和,那麼這個數就被稱為 完數 如 6 1 2 3。程式設計找出 1000 以內的所有 完數 外層迴圈 998 次,每次迴圈得到的 i 傳入下個迴圈內,內部迴圈求解出符合 i 整除 k 等於 0 的數,如果能夠整除,那麼說明 k 是 i 的乙個因子,則用 sum 累加,直到...
程式設計找出1000以內的所有完數
關鍵檔案 homework2.cpp 定義控制台應用程式的入口點。程式設計找出1000以內的所有完數 注1 乙個數如果恰好等於它的因子之和,這個數就稱為 完數 例如6 1 2 3.注2 因子即是約數,即可以整除這個數的數 注3 完全數 perfect number 又稱完美數或完備數,是一些特殊的自...