• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python求解水仙花数的方法

python求解水仙花数的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 水仙花数,python求水仙花数,python输出水仙花数,水仙花数python语言,水仙花数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

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

</div>

您可能想查找下面的文章:

  • python求解水仙花数的方法

相关文章

  • 深入理解Python中字典的键的使用
  • Python字符串的encode与decode研究心得乱码问题解决方法
  • Python中的字符串替换操作示例
  • python遍历 truple list dictionary的几种方法总结
  • Python中属性和描述符的正确使用
  • python 实现归并排序算法
  • Python利用Beautiful Soup模块创建对象详解
  • python简单猜数游戏实例
  • 编写Python脚本把sqlAlchemy对象转换成dict的教程
  • Android 兼容性问题:java.lang.UnsupportedOperationException解决办法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python检测网站链接是否已存在
    • python base64 decode incorrect padding错误解决方法
    • 在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
    • 用Python计算三角函数之atan()方法的使用
    • Python获取单个程序CPU使用情况趋势图
    • python网络编程之TCP通信实例和socketserver框架使用例子
    • 深入讲解Python编程中的字符串
    • Python自定义函数的创建、调用和函数的参数详解
    • 在Python中操作列表之List.append()方法的使用
    • Python编程中的文件操作攻略

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有