用來練手的python 練習題其十三,原鏈接 : python練習實例13
題干 : 打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方 153=13+53+33153 = 1^3+5^3+3^3153=13+53+33
源代碼如下:
import numpy as np
result = np.array([])
bound = np.arange(100,1000,1)
for i in bound:cent = i//100tens = (i-cent*100)//10unit = i - 100 * cent - 10 * tensif cent**3 + tens**3 + unit**3 == i:result = np.append(result,i)
print(result)
實現起來也是比較簡單,主要就是將三位數的百位十位和個位數字分別提取出來,然后判斷各位數字的立方和是否等于該三位數。
輸出結果如下: