題目
打印出1000以內所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
分析
利用for循環控制100-999個數,每個數分解出個位,十位,百位。
答案
# 方法一
for n in range(100,1000):i = n%10j = n//10%10k = n//100if n == (i ** 3 + j ** 3 + k ** 3):print(n,'是水仙花數')# 方法二
n = 100
while n < 1000:i = n%10j = n//10%10k = n//100if n == (i ** 3 + j ** 3 + k ** 3):print(n,'是水仙花數')n += 1