python求解水仙花数的方法

python教程评论462 views阅读模式

本文实例讲述了python求解水仙花数的方法。分享给大家供大家参考。具体如下:

一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。

#!/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
  
   =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

>0: tmp_l

-=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)

希望本文所述对大家的Python程序设计有所帮助。

  • 微信
  • 分享
  • 相关标签:python 水仙花数
  • 本文原创发布php教程 ,转载请注明出处,感谢您的尊重!
    • 上一篇:python学习数据结构实例代码
    • 下一篇:pymongo为mongodb数据库添加索引的方法

    相关文章

    相关视频

    • 在Django框架中运行Python应用全攻略
    • 在Python的Django框架中创建和使用模版
    • python获取元素在数组中索引号的方法
    • 浅谈python中截取字符函数strip,lstr...
    • python求解水仙花数的方法
    • Python 简介

    企鹅博客
    • 本文由 发表于 2019年9月21日 02:37:21
    • 转载请务必保留本文链接:https://www.qieseo.com/335547.html

    发表评论