为什么输入三位数111或者257这些数字,出来的结果不是水仙花数。

来源:2-14 编程练习

慕丝8199593

2020-03-05 23:21:32

 为什么输入三位数111或者257这些数字,出来的结果不是水仙花数。是只有满足个十百三个数的立方相加等于数字本身才是水仙花数?而不是所有三位数都是水仙花数?

num = int(input("请输入一个三位数:"))

gw = num%10

sw = (num%100)//10

bw = num//100

# 分别求出三位数的个位,十位,百位

total = gw**3 + sw**3 + bw**3

# 定义变量total,保存各位数字立方和

if total == num:

    print("{}是水仙花数".format(num))

else:

    print("{}不是水仙花数".format(num))

# 用if语句判断条件是否成立,并做出相应的输出

    # 补全代码


写回答

2回答

好帮手乔木

2020-03-06

同学你好:

水仙花数满足的条件:

1、首先是一个三位数

2、个位数,十位数,百位数的立方和等于这个数本身。

所以满足这两个条件的数很少。153,370,371,407只有四个。

同学的实现代码没有问题。

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

0

真诚到永远V

2020-03-06

水仙花数是个位数,十位数,百位数的立方和等于这个数本身。

0

0 学习 · 8160 问题

查看课程