Python3 (基础练习) 所谓“水仙花数“是指一个三位数,其各位数字立方和等于该数本身。找出这种“水仙花数“。

所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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是水仙花数

你可能感兴趣的