day8
---------------------------------------------------------------
實例013:所有水仙花數
題目 打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
分析了下,問題不大,偷個懶導入math包:
1 import math 2 3 floor = [] 4 for i in range(100,1000): 5 list = str(i) 6 sum = 0 7 for j in list: 8 sum += math.pow(int(j),3) 9 if sum == i: 10 floor.append(i) 11 print(floor)
來看下標准答案:
1 for i in range(100,1000): 2 s=str(i) 3 one=int(s[-1]) 4 ten=int(s[-2]) 5 hun=int(s[-3]) 6 if i == one**3+ten**3+hun**3: 7 print(i)
用時間time.perf_countter()多次嘗試,發現兩種方法運行時間差別不大,但第二種明顯可讀性更強一點。