打印水仙花数
水仙花数是指一个n位数,N>=3,它的每个位上的数的N次幂之和等于它本身
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
#求100-999范围内的,水仙花数
for num in range(100,1000):
S_digit = num % 10
#Single digit
H_digit = int(num / 100)
#Hundreds digit
Ten_digit = int((num - H_digit * 100) / 10)
#Ten digit
sum = S_digit ** 3 + Ten_digit ** 3 + H_digit ** 3
if sum == num:
print("%d是水仙花数" % num)
求所有位的水仙花数
while True:
try:
x=int(input(‘请输入最大取值范围(整数):’))
break
except:
print(“输入不对,重新输入”)
for i in range(99,x+1):
p = str(i)
sum = 0
for a in p:
sum += int(a) ** len§
if sum == i:
print("%d是水仙花数" % i)