完美數及尋找完美數的演算法(Perfect number’s algorithm)
完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數,它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等于它本身,
這是古希臘數學家畢達哥拉斯在公元前6世紀最早研究的,他發現了6,28是完美數,過了5個世紀,畢達哥拉斯學派的成員發現了后兩個完美數分別藏在百位和千位,那么,這困擾古代科學家幾百年的問題我們怎么利用計算機強大的算力來將他們找出來呢?
這里我們以找出10000之內的完美數來舉例(python演示):
#沃若
print("歡迎來到完美數的尋找")
for x in range(2,10001):#舉例2到10000內所有的數
sum=0#初始化計數sum,用于計算所有真因子的和
for i in range(1,int((x/2)+1)):#我們找因數,可只找到1到x/2+1,節約算力
if x%i == 0:
sum+=i
if sum == x:
print(x)
這里是運行程式的結果和顯示,在服務器上完成大概花了2s,
歡迎指正代碼的不足,望君雅正,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/227159.html
標籤:AI
上一篇:為藝術而生的驚艷演算法
