完全數(perfect number),又稱完美數或完備數,是一些特殊的自然數。它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於它本身。例如,第乙個完全數是6,它有約數1、2、3、6,除去它本身6外,其餘3個數相加,1+2+3=6。第二個完全數是28,它有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4+7+14=28。
def isperfectnumber(n):
a = 1
b = n
s = 0
while a < b:
if n % a == 0:
s += a + b
a += 1
b = n / a
if a == b and a * b == n:
s += a
return s - n == n
for k in range(2, 10000):
if isperfectnumber(k):
print k
上面的程式是其他人的解法,有點複雜,自己編的在下面。
def perfectnumber(n): #定義函式
a= #定義乙個用於放約數的空陣列(注意,定義在函式外面會出錯)
for i in range(1,n):
if n%i==0:
return sum(a)==n #所有約數求和若等於n
for b in range(1,10000):
if perfectnumber(b):
print b
6
28496
8128
這幾天在學習《機器學習實戰》,knn,決策樹和樸素貝葉斯已經看了,原理都很容易理解,**開始很費勁但是邊學邊查也能看得懂了,不過真的自己敲還是有難度。感悟就是,程式雖然看上去密密麻麻,但是可以變得井井有條,乙個個函式塊的建立和呼叫,可以瞬間讓你思路清晰。語言真的很神奇,學好一門語言需要邏輯清晰有條理,這些是一種思維方式、習慣,要體會、要培養。
第一遍不細究**,重點看各種演算法的原理。自己敲**的時候一定來這做筆記!
初來乍到,初來乍到
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
新人初來乍到
今天是2015年11月6日20 22。這一周忙忙碌碌的過去了。來到大學之後,感到周五的下午是最讓人放鬆的時段,因為名義上的週末還是有許多其他的事情要去做。不過明天總算能夠睡上乙個自然醒的覺了呢。雨翔剛剛揹著包出去自習了,我的二手賣家也正在圖書館自習。而我,也按照自己的周五安排前進著,處理掉一周積累下...
初來乍到K
剛剛來公司,還在學習 的階段。e就鼓勵我重構 f專案的 於是邊閱讀邊想著怎麼重構。事實證明自己這方面表現不好,原因有幾方面 1.產品對我來說是全新的,不了解整體的架構,重構時不考慮全域性的設計 2.對重構牴觸。以前的工作 都是有base版本,並有 商維護,那部分的 不會去修改。並且 都是經過幾百萬的...