# 【Python練習題 009】 打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,
# 其各位數字立方和等於該數本身。例如:153是一個“水仙花數”,
# 因為153=1的三次方+5的三次方+3的三次方。
# ----------------------------------------------------------------------
# 把任意三位數的百位、十位、個位拆解出來就好辦了。
# 思路:將任意3位數除以100再向下取整,
# 即可得到百位數。將這個3位數減去(百位數*100),即可去掉百位數,然后除以10再向下取整,
# 即可得到十位數。將這個3位數除以10再取整再乘以10(得到整幾百幾十的數字),
# 然后拿這個3位數減去這個數字,即可得到個位數。代碼如下:
import math
for i in range(100, 1000):
x = math.floor(i/100) #獲得百位數
y = math.floor((i - x*100)/10) #獲得十位數
z = i - math.floor(i/10) *10 #獲得個位數
if i == x**3 + y**3 + z**3:
print(i, end=', ')