前言:
本人因喜欢python和c语言等程序设计语言,希望能够在这里和大家共同学习共同进步。
因个人喜好喜欢做题,所以想出一个系列专栏关于python的习题专集,希望大家喜欢。
希望能在这里分享学习的一些知识碎片,接触时间不长,如果文章有任何错误,欢迎大家指正。
如果喜欢我的文章还请大家不吝动手给我点赞收藏关注哦,留下你来过的足迹,让我眼熟你。
第十一题 打印出所有”水仙花数”
要求:
1.一个三位数,其各位数字的立方和等于该数本身
2.打印出 100-999 的所有水仙花数
可以先自己看要求写出程序,然后看提示及答案,更有助于提高自己。
提示:1.例如:153 = 1的三次方 + 5的三次方 + 3的三次方
第一种方法:
def daffodil():
list = []
for i in range(100,1000):
tmp = (x//100)**3 + (x//10%10)**3 + (x%10)**3
if tmp == x:
list.append(x)
print(list)
list = daffodil()
print(list)
第二种方法:
for m in range(100,1000):
i = int(m/100)
j = int(m/10-i*10)
k = int(m-i*100-j*10)
if m == i**3+j**3+k**3:
print(m)
说明:
第一种方法是以此数来求所有位数上的数字
第二种方法是将其各个位数单独求出来,以一个百位数字推出其它位的数字
保存并运行程序,结果如下所示:
153
370
371
407
版权声明:本文为qqgg77原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。