python打印n位數(shù)“水仙花數(shù)”(實例代碼)
注:所謂n位數(shù)“水仙花數(shù)”是指一個n數(shù),其各位數(shù)字n次方和等于該數(shù)本身。如三位數(shù)“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)3次方和等于該數(shù)本身。
一、3位數(shù)“水仙花數(shù)”如下:
list2=[]
for i in range(100,1000):
str1=str(i)
sum1=0
for j in str1:
num=int(j)
sum1+=num**3
if i==sum1:
list2.append(i)
print(list2)
運行結(jié)果:
[153, 370, 371, 407]
二、n位數(shù)的水仙花數(shù):
n=4 #n位數(shù)的水仙花數(shù),n可自由設(shè)置
list2=[]
for i in range(10**(n-1),10**n):
str1=str(i)
sum1=0
for j in str1:
num=int(j)
sum1+=num**n
if i==sum1:
list2.append(i)
print(list2)
運行結(jié)果:
[1634, 8208, 9474]
三、遍歷3-8位數(shù)水仙花數(shù)
'''遍歷3-8位數(shù)水仙花數(shù)'''
for n in range(3,9):
list2=[]
for i in range(10**(n-1),10**n):
str1=str(i)
sum1=0
for j in str1:
num=int(j)
sum1+=num**n
if i==sum1:
list2.append(i)
print("%d位數(shù)水仙花數(shù),共%d個:%s"%(n,len(list2),list2))
運行結(jié)果:
3位數(shù)水仙花數(shù),共4個:[153, 370, 371, 407]
4位數(shù)水仙花數(shù),共3個:[1634, 8208, 9474]
5位數(shù)水仙花數(shù),共3個:[54748, 92727, 93084]
6位數(shù)水仙花數(shù),共1個:[548834]
7位數(shù)水仙花數(shù),共4個:[1741725, 4210818, 9800817, 9926315]
······第八位數(shù)據(jù)有點大,五分鐘都沒計算出來
總結(jié)
以上所述是小編給大家介紹的python打印n位數(shù)“水仙花數(shù)”,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Python實現(xiàn)PDF轉(zhuǎn)Word的多種方式總結(jié)
這篇文章主要為大家詳細介紹了三種Python實現(xiàn)PDF文件轉(zhuǎn)Word文檔的方式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-11-11
python中watchdog文件監(jiān)控與檢測上傳功能
這篇文章主要介紹了python中watchdog文件監(jiān)控與檢測上傳功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10

