欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python求解水仙花數(shù)的方法

 更新時(shí)間:2015年05月11日 10:11:32   作者:上大王  
這篇文章主要介紹了python求解水仙花數(shù)的方法,較為詳細(xì)的分析了水仙花數(shù)問(wèn)題的概念與對(duì)應(yīng)解決方法的實(shí)現(xiàn)技巧,需要的朋友可以參考下

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

一個(gè)N位的十進(jìn)制正整數(shù),如果它的每個(gè)位上的數(shù)字的N次方的和等于這個(gè)數(shù)本身,則稱其為花朵數(shù)。

#!/usr/bin/python
def 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_count
if __name__ == '__main__':
 with file('./f.txt', 'wb') as o:
  get_flower(21, o)
  #get_flower(3, o)

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 解決pycharm界面不能顯示中文的問(wèn)題

    解決pycharm界面不能顯示中文的問(wèn)題

    今天小編就為大家分享一篇解決pycharm界面不能顯示中文的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python中tkinter復(fù)選框使用操作

    python中tkinter復(fù)選框使用操作

    Python Tkinter 復(fù)選框用來(lái)選取我們需要的選項(xiàng),它前面有個(gè)小正方形的方塊,如果選中則有一個(gè)對(duì)號(hào),也可以再次點(diǎn)擊以取消該對(duì)號(hào)來(lái)取消選中,下面通過(guò)代碼介紹下python中tkinter復(fù)選框使用操作,需要的朋友參考下吧
    2021-11-11
  • Python多線程編程(二):?jiǎn)?dòng)線程的兩種方法

    Python多線程編程(二):?jiǎn)?dòng)線程的兩種方法

    這篇文章主要介紹了Python多線程編程(一):?jiǎn)?dòng)線程的兩種方法,本文講解了將函數(shù)傳遞進(jìn)Thread對(duì)象、繼承自threading.Thread類兩種方法,需要的朋友可以參考下
    2015-04-04
  • Pycharm 2to3配置,python2轉(zhuǎn)python3方式

    Pycharm 2to3配置,python2轉(zhuǎn)python3方式

    這篇文章主要介紹了Pycharm 2to3配置,python2轉(zhuǎn)python3方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python檢測(cè)是文件還是目錄的方法

    python檢測(cè)是文件還是目錄的方法

    這篇文章主要介紹了python檢測(cè)是文件還是目錄的方法,涉及Python針對(duì)文件及目錄的檢測(cè)技巧,需要的朋友可以參考下
    2015-07-07
  • 如何用Python一次性下載抖音上音樂(lè)

    如何用Python一次性下載抖音上音樂(lè)

    不知道什么時(shí)候開始,中國(guó)出現(xiàn)了南抖音、北快手的互文格局。喜歡抖音主要是兩個(gè)初衷,學(xué)做菜聽音樂(lè)。抖音捧紅了很多人,也讓很多本不怎么讓大家熟知的歌曲、BGM,經(jīng)過(guò)翻唱、混剪與視頻搭配,從而傳播大街小巷。有沒(méi)有想過(guò)將這些好聽的剪輯批量下載下來(lái)呢?
    2021-05-05
  • Python 獲取當(dāng)前路徑3種方法

    Python 獲取當(dāng)前路徑3種方法

    本文主要介紹了Python 獲取當(dāng)前路徑3種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python 文件操作技巧(File operation) 實(shí)例代碼分析

    Python 文件操作技巧(File operation) 實(shí)例代碼分析

    python遍歷文件夾和文件 perl分割路徑和文件名
    2008-08-08
  • Python的requests網(wǎng)絡(luò)編程包使用教程

    Python的requests網(wǎng)絡(luò)編程包使用教程

    requests包為Python擴(kuò)展了各種基于HTTP的網(wǎng)絡(luò)數(shù)據(jù)操作功能,包括各種請(qǐng)求與session和cookie等的追加,very強(qiáng)大,下面我們就來(lái)看一下Python的requests網(wǎng)絡(luò)編程包使用教程
    2016-07-07
  • 解決pandas.DataFrame.fillna 填充Nan失敗的問(wèn)題

    解決pandas.DataFrame.fillna 填充Nan失敗的問(wèn)題

    今天小編就為大家分享一篇解決pandas.DataFrame.fillna 填充Nan失敗的問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11

最新評(píng)論