当前位置:   article > 正文

【Python】第4章-17 水仙花数(20 分)_python头歌 第4关输出所有的水仙花数

python头歌 第4关输出所有的水仙花数

 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。

本题要求编写程序,计算所有N位水仙花数。

输入格式:

输入在一行中给出一个正整数N(3≤N≤5)

输出格式:

按递增顺序输出所有N位水仙花数,每个数字占一行。

输入样例:

在这里给出一组输入。例如:

3

输出样例:

在这里给出相应的输出。例如:

  1. 153
  2. 370
  3. 371
  4. 407

【Python参考代码】

  1. #By yangbo 2020.07.20
  2. n=int(input())
  3. s,Nar_num=0,[]
  4. for i in range(10**(n-1),10**n):
  5. num=str(i)#将整型i转换成字符型
  6. for j in range(n):
  7. s+=int(num[j])**n
  8. if s == i:#是水仙花数
  9. Nar_num.append(s)
  10. s=0 #注意一定要在每一轮循环结束后将其清零,不然一直累加,判断肯定错
  11. for i in range(len(Nar_num)):
  12. print(Nar_num[i])

进阶版

  1. #By yangbo 2020.07.20
  2. n=int(input())
  3. for i in range(10**(n-1),10**n):
  4. s,j=0,i
  5. while(j>0):
  6. s+=(j%10)**n
  7. j//=10
  8. if s == i:
  9. print(i)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/674286
推荐阅读
相关标签
  

闽ICP备14008679号