求1000以內所有的水仙花數

本文將介紹如何使用編程語言求解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-hant/n/373562.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SFFTT的頭像SFFTT
上一篇 2025-04-27 15:26
下一篇 2025-04-27 15:26

相關推薦

發表回復

登錄後才能評論