本文將介紹如何使用編程語言求解1000以內所有的水仙花數。水仙花數,顧名思義,就是一個數的各個數字的立方和等於這個數本身。例如,153就是水仙花數,因為 $1^3 + 5^3 + 3^3 = 153$。
一、什麼是水仙花數?
水仙花數是指一個$n$位正整數 ($n \geq 3$),它的每個位上的數字的$n$次方之和等於它本身。例如 153 是水仙花數,因為 $1^3 + 5^3 + 3^3 = 153$。
二、求解水仙花數的方法
我們可以使用循環遍歷 $100-999$ 的所有數字,將其各個位數的立方和計算出來,判斷其是否等於原數即可。
def isNarcissisticNumber(n): s = str(n) k = len(s) sum = 0 for i in s: sum += int(i)**k return sum == n for i in range(100, 1000): if isNarcissisticNumber(i): print(i)
三、代碼解釋
首先,我們定義一個函數 isNarcissisticNumber
來判斷一個數是否是水仙花數。該函數接受一個整數參數 n
,然後將其轉換成字元串,計算其各個位數的立方和 sum
,判斷其是否等於原數 n
,最終返回判斷結果。
接下來,我們在主函數中使用循環遍曆數字 $100-999$,並調用函數 isNarcissisticNumber
判斷是否是水仙花數,是的話就輸出。
四、總結
通過本文的介紹,我們了解了水仙花數的概念和求解方法,並給出了 Python 的代碼示例。此外,我們還可以使用其他編程語言來求解水仙花數,如 C、Java 等。希望此文對讀者有所幫助。
原創文章,作者:SFFTT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/373562.html