python水仙花数总结_python打印n位数“水仙花数”(实例代码)
注:所謂n位數“水仙花數”是指一個n數,其各位數字n次方和等于該數本身。如三位數“水仙花數”是指一個三位數,其各位數3次方和等于該數本身。
一、3位數“水仙花數”如下:
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)
運行結果:
[153, 370, 371, 407]
二、n位數的水仙花數:
n=4 #n位數的水仙花數,n可自由設置
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)
運行結果:
[1634, 8208, 9474]
三、遍歷3-8位數水仙花數
'''遍歷3-8位數水仙花數'''
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位數水仙花數,共%d個:%s"%(n,len(list2),list2))
運行結果:
3位數水仙花數,共4個:[153, 370, 371, 407]
4位數水仙花數,共3個:[1634, 8208, 9474]
5位數水仙花數,共3個:[54748, 92727, 93084]
6位數水仙花數,共1個:[548834]
7位數水仙花數,共4個:[1741725, 4210818, 9800817, 9926315]
······第八位數據有點大,五分鐘都沒計算出來
總結
以上所述是小編給大家介紹的python打印n位數“水仙花數”,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對我們網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
本文標題: python打印n位數“水仙花數”(實例代碼)
本文地址: http://www.cppcns.com/jiaoben/python/295184.html
總結
以上是生活随笔為你收集整理的python水仙花数总结_python打印n位数“水仙花数”(实例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 倒计时_Excel制作竞答
- 下一篇: python计时器timeit返回秒数_