第4章-16.水仙花數(20 分)


水仙花數是指一個N位正整數(N≥3),它的每個位上的數字的N次冪之和等於它本身。 例如:153=1×1×1+5×5×5+3×3×3。

本題要求編寫程序,計算所有N位水仙花數。

輸入格式:

輸入在一行中給出一個正整數N(3≤N≤5)

輸出格式:

按遞增順序輸出所有N位水仙花數,每個數字占一行。

輸入樣例:

在這里給出一組輸入。例如:

3 
 

輸出樣例:

在這里給出相應的輸出。例如:

153 370 371 407
第一版
 1 # 水仙花數
 2 # Author: cnRick
 3 # Time  : 2020-3-29
 4 import math
 5 digit = int(input())
 6 left,right= int(math.pow(10,digit-1)),int(math.pow(10,digit)) #左區間和右區間(左閉右開)
 7 for num in range(left,right):
 8     x = num
 9     resultOfSum = 0
10     while x > 0:
11         resultOfSum = resultOfSum + pow(x%10,digit)
12         x = x //10
13     if resultOfSum == num:
14         print(num)
15         

 第二版

# 水仙花數
# Author: cnRick
# Time  : 2020-3-30
n = int(input())
for a in range(10**(n-1),10**n):
    if a == sum([int(i)**n for i in str(a)]):
        print(a)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM