水仙花数字
为什么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))
79
收起
正在回答
2回答
同学你好:
水仙花数是数学中具有代表性的数字:必须是三位数,每一位上的数字的3次幂相加的和和这个三位数相等的数叫做水仙花数。
8**3 + 8**3 + 8**3 不等于 888
1**3 + 0**3 + 1**3 不等于 101
我们只需要按照这个要求去进行逻辑的实现即可。
1 提取所输入的数字的个位、十位、百位上对应的数值
2 每个数字的3次幂相加和输入的数字比较
3 判断是否是水仙花数
如果我解决了同学的问题,请采纳!学习愉快^_^。
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星