1. 程式人生 > >Python練習題5(求水仙花數):編寫一個程式,求 100~999 之間的所有水仙花數 (如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數)

Python練習題5(求水仙花數):編寫一個程式,求 100~999 之間的所有水仙花數 (如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數)

方法一:使用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)