水仙花数字
来源: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 所以不是水仙花数
相似问题