Python練習題5(求水仙花數):編寫一個程式,求 100~999 之間的所有水仙花數 (如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數)
阿新 • • 發佈:2019-01-06
方法一:使用int和str,將int轉成字串拼接後再轉成int。
1 for i in range(1,10): 2 for j in range(0,10): 3 for k in range(0,10): 4 num = int(str(i) + str(j) + str(k)) 5 if num == i**3 + j**3 + k**3: 6 print(num)
方法二:使用// 和 % 取百、十、個位數
1 for n in range(100,1000): 2 i = n // 100 #取百位數 3 j = (n // 10) % 10 #取十位數 4 k = n % 10 #取個位數 5 if n == i**3 + j**3 + k**3: 6 print(n)
方法三:簡單的數學運算
1 for i in range(1,10): 2 for j in range(0,10): 3 for k in range(0,10): 4 num = i*100 + j*10 + k 5 if num == i**3 + j**3 + k**3:6 print(num)