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使用循环实现批量创建文件夹示例
Mar 25 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
PyTorch 1.0 正式版已经发布了
Dec 13 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
python  logging日志打印过程解析
Oct 22 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
Python应用实现双指数函数及拟合代码实例
Jun 19 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
Dec 09 Python
Python try except else使用详解
Jan 12 Python
python关于集合的知识案例详解
May 30 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
文章推荐系统(二)
2006/10/09 PHP
php中的时间显示
2007/01/18 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
大学生专科毕业生自我评价
2013/11/17 职场文书
求职简历中的自我评价分享
2013/12/08 职场文书
团组织关系介绍信
2014/01/12 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
社区工作者先进事迹
2014/01/18 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
红色故事汇观后感
2015/06/18 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript