水仙花数字

来源: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))

http://img.mukewang.com/climg/5d79942d09af60c112050394.jpg

写回答

2回答

好帮手乔木

2019-09-12

同学你好:

水仙花数是数学中具有代表性的数字:必须是三位数,每一位上的数字的3次幂相加的和和这个三位数相等的数叫做水仙花数。

8**3 + 8**3 + 8**3 不等于 888

1**3 + 0**3 + 1**3 不等于 101

我们只需要按照这个要求去进行逻辑的实现即可。

1 提取所输入的数字的个位、十位、百位上对应的数值

2 每个数字的3次幂相加和输入的数字比较

3 判断是否是水仙花数

如果我解决了同学的问题,请采纳!学习愉快^_^。

1

慕丝8254777

2019-09-12

当然不是    8**3*3=1536  不等于888 所以不是水仙花数

0

0 学习 · 8160 问题

查看课程