水仙花数字
来源:2-14 编程练习
weixin_慕码人71622
2019-09-12 08:42:26
为什么888,101,111都不是水仙花数,都是三位数的呀。搞不懂这个原理
num = input("请输入三位数字")
num = int(num)
bw = int(num / 100)
sw = int((num - bw * 100) / 10)
gw = int((num - bw * 100 - sw *10) / 1)
print(bw)
print(sw)
print(gw)
total = bw * bw * bw + sw * sw * sw + gw * gw *gw
if total == num:
print('{}是水仙花数字'.format(num))
else:
print('{}不是水仙花数字'.format(num))
2回答
同学你好:
水仙花数是数学中具有代表性的数字:必须是三位数,每一位上的数字的3次幂相加的和和这个三位数相等的数叫做水仙花数。
8**3 + 8**3 + 8**3 不等于 888
1**3 + 0**3 + 1**3 不等于 101
我们只需要按照这个要求去进行逻辑的实现即可。
1 提取所输入的数字的个位、十位、百位上对应的数值
2 每个数字的3次幂相加和输入的数字比较
3 判断是否是水仙花数
如果我解决了同学的问题,请采纳!学习愉快^_^。
慕丝8254777
2019-09-12
当然不是 8**3*3=1536 不等于888 所以不是水仙花数
相似问题