python求解水仙花数的方法


Posted in Python onMay 11, 2015

本文实例讲述了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<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)

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

Python 相关文章推荐
Python的lambda匿名函数的简单介绍
Apr 25 Python
KMP算法精解及其Python版的代码示例
Jun 01 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
Feb 01 Python
Python3之读取连接过的网络并定位的方法
Apr 22 Python
基于pycharm导入模块显示不存在的解决方法
Oct 13 Python
python爬取cnvd漏洞库信息的实例
Feb 14 Python
linux环境中没有网络怎么下载python
Jul 07 Python
使用matlab或python将txt文件转为excel表格
Nov 01 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
Python计算公交发车时间的完整代码
Feb 12 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 Python
详细分析Python垃圾回收机制
Jul 01 Python
pymongo为mongodb数据库添加索引的方法
May 11 #Python
python判断windows系统是32位还是64位的方法
May 11 #Python
Python中使用装饰器时需要注意的一些问题
May 11 #Python
python在linux系统下获取系统内存使用情况的方法
May 11 #Python
Python实现登录人人网并抓取新鲜事的方法
May 11 #Python
python实现中文输出的两种方法
May 09 #Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 #Python
You might like
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
php分页示例分享
2014/04/30 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
JavaScript confirm选择判断
2008/10/18 Javascript
JS中==与===操作符的比较
2009/03/21 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
python安装Scrapy图文教程
2017/08/14 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
python3使用GUI统计代码量
2019/09/18 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
大学自我鉴定
2013/12/20 职场文书
植物生产学专业求职信
2014/08/08 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
苏州园林导游词
2015/02/03 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL
python全面解析接口返回数据
2022/02/12 Python