所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1^3 +5^3 +3^3 。判断”水仙花数”。
这题唯一的难点就是:“如何把一个三位数的3个数字分别输出,以算出次方之和“
num = int(input("请输入数字:"))
i=num//100 # 153/100等于1.53,应该整除,把后面的小数去掉,这就是百位数
j=num//10%10 # 153//10等于15,再对15/10取余即可得出十位数5
k=num%10 # 153%10取余
if(i**3 +j**3 + k**3 == num):
print("是水仙花数")
else:
print("不是水仙花数")
答案:
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数
输出所有的水仙花数
for num in range(100,1000):
i=num//100
j=num//10%10
k=num%10
if(i**3 +j**3 + k**3 == num):
print(str(num) + "是水仙花数")
答案:
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数