python實現水仙花數

3月以前  |  閱讀數:48 次  |     收藏

題目:打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。

問題1:

判讀一個數是否為水仙花數:

def printNarcissisticNumber(self, num):
    '判斷一個數是否是水仙花數'
    num = int(num)
    if num < 100 or num > +1000:
        print("不是水仙花數")
    else:
        geWei = num % 10
        baiWei = int(num / 100)
        shiWei = int((num - baiWei * 100) / 10)
        # print(geWei)
        # print(shiWei)
        # print(baiWei)
        sum = geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei
        if sum == num:
            print("%d是水仙花數" % num)
        else:
            print("不是水仙花數")

問題2:

輸出所有的水仙花數。

def printNarcissisticNumber(self):
    '判斷一個數是否是水仙花數'
    for num in range(100, 1000):
        geWei = num % 10
        baiWei = int(num / 100)
        shiWei = int((num - baiWei * 100) / 10)
        # print(geWei)
        # print(shiWei)
        # print(baiWei)
        sum = geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei
        if sum == num:
            print("%d是水仙花數" % num)

相關文章:


Linux shell編程求3位數水仙花數

python實現水仙花數

實現水仙花數的5個示例

JS判斷一個數是否是水仙花數

請判斷一個數是不是水仙花數。

JS--水仙花數

Go語言之水仙花數
25选5玩法中奖