python找出3位数的水仙花数

找出3位数的水仙花数

"""
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,
它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,
例如:$1^3 + 5^3+ 3^3=153。
"""
for num in range(100,1000): #100-999循环
    s100 = num // 100 # “ // ”取整。对100整除,得到百位上的数字
    s10 = num // 10 % 10  # “ % ”取余。先对10整除,然后再除以10求余数,得到十位上的数字。 
    s1 = num % 10  # 对10整除,就余数,得到十位上的数字。
    if(s100**3+s10**3+s1**3==num): #判断各位数字的3次幂之和是否等于num
         print(num)   #输出符合if条件的数字

结果:
153
370
371
407

你可能感兴趣的:(python找出3位数的水仙花数)