国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python求解水仙花數的方法

2020-02-23 01:09:39
字體:
來源:轉載
供稿:網友

本文實例講述了python求解水仙花數的方法。分享給大家供大家參考。具體如下:

一個N位的十進制正整數,如果它的每個位上的數字的N次方的和等于這個數本身,則稱其為花朵數。

#!/usr/bin/pythondef get_flower(n, ofile): D_pow=[pow(i,n) for i in range(0,10)] V_min=1*pow(10,n-1) V_max=sum((9*pow(10,x) for x in range(0,n))) T_count=0 print D_pow, V_max, V_min nums=[1]+[0]*(n-1) print 'Start:', nums idx=n-1 tmp_l=[0]*10 while True:  nums[idx]+=1  if nums[idx]<10:   j=idx+1   while j<n:    nums[j]=nums[idx] # reset     j+=1   v=sum((D_pow[x] for x in nums))   if v<=V_max and v>=V_min:    T_count+=1    #test if is flower    #print 'do test:', ''.join(map(str,nums))    k=0    while k<10:     tmp_l[k]=0     k+=1    N=0    for k in nums:     tmp_l[k]+=1     N+=1    while N>0:     p=v%10     if tmp_l[p]>0:      tmp_l[p]-=1      N-=1     else:      break     v/=10    if N==0:     print >>ofile, 'hit', sum((D_pow[x] for x in nums))   idx=n-1  elif idx==0:   print 'done'   break  else:   idx-=1 print 't_count', T_countif __name__ == '__main__': with file('./f.txt', 'wb') as o:  get_flower(21, o)  #get_flower(3, o)

希望本文所述對大家的Python程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宝应县| 都昌县| 托里县| 绥棱县| 抚州市| 惠水县| 朝阳县| 呈贡县| 特克斯县| 新蔡县| 凤冈县| 天峻县| 喀什市| 平顶山市| 铁岭市| 商丘市| 卢湾区| 泽普县| 巴中市| 鄢陵县| 革吉县| 安溪县| 绥阳县| 浦北县| 宁国市| 崇左市| 两当县| 固阳县| 慈溪市| 科技| 商洛市| 邓州市| 斗六市| 玉溪市| 镇赉县| 攀枝花市| 阿坝| 普格县| 车险| 石城县| 浠水县|