017. 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)成為“完數(shù)”、例如6=1+2+3.編寫程序找出1000以內(nèi)所有

def pri_num(val): #求出該數(shù)字的所有素?cái)?shù)
for i in range(2,val+1):
if i<=4:
j=i
else:
j=i//2
for k in range(2,j):
if i%k==0:
break
else:
num.append(i)
def sol_factor(val,k): #求因數(shù)
for i in k: #遍歷素?cái)?shù)
if val%i==0:
return i
break
else:
return 1
for input_num in range(2,1000):
sum_num=1
num=[] #該數(shù)字范圍內(nèi)的所有素?cái)?shù)
fac_num=[] #該數(shù)字的因數(shù)
pri_num(input_num) #求出該數(shù)字的所有素?cái)?shù)
decom_num=input_num #要分解的數(shù)
while True:
res=sol_factor(decom_num,
num)
if res==decom_num: #遍歷結(jié)束
sum_num +=res
fac_num.append(str(res))
break
else:
sum_num +=res
fac_num.append(str(res))
decom_num= decom_num/res
if sum_num==input_num:
print(input_num,'=1+','+'.join(fac_num)) #分解后的表達(dá)式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)眼間畢業(yè)兩年了,朋友圈里高中老師發(fā)出了高三學(xué)子高考前最后一次角逐的??颊掌?,今年大學(xué)畢業(yè)的學(xué)弟學(xué)妹們曬出了史上最...
    Mr_康先生閱讀 560評(píng)論 1 9
  • 三毛說(shuō),“讀書多了,容顏?zhàn)匀桓淖?,許多時(shí)候,自己可能以為許多看過(guò)的書籍都成過(guò)眼煙云,不復(fù)記憶,其實(shí)它們?nèi)詽撛跉赓|(zhì)里...
    內(nèi)寒閱讀 192評(píng)論 0 0

友情鏈接更多精彩內(nèi)容