python實(shí)現(xiàn)自冪數(shù)的示例代碼
前文介紹過 python 實(shí)現(xiàn)水仙花數(shù),其實(shí)水仙花數(shù)為自冪數(shù)的一種,即,3位自冪數(shù)。
自冪數(shù)是指一個 n 位數(shù),它的每個位上的數(shù)字的 n 次冪之和等于它本身。(例如:當(dāng)n為3時,有1^3 + 5^3 + 3^3 = 153,153即是n為3時的一個自冪數(shù))
自冪數(shù)-百度百科
2、自冪數(shù)包括:一位自冪數(shù):獨(dú)身數(shù) 0-9
兩位自冪數(shù):沒有
三位自冪數(shù):水仙花數(shù) 153,370,371,407
四位自冪數(shù):四葉玫瑰數(shù) 1634,8208,9474
五位自冪數(shù):五角星數(shù) 54748,92727,93084
六位自冪數(shù):六合數(shù) 548834
七位自冪數(shù):北斗七星數(shù) 1741725,4210818,9800817,9926315
八位自冪數(shù):八仙數(shù) 24678050,24678051,88593477
九位自冪數(shù):九九重陽數(shù) 146511208,472335975,534494836,912985153
十位自冪數(shù):十全十美數(shù) 4679307774
。。。
3、實(shí)現(xiàn)前文已實(shí)現(xiàn)過水仙花數(shù),只需要將函數(shù)稍微修改下,根據(jù)數(shù)據(jù)長度判斷冪次,就可計(jì)算任意范圍的自冪數(shù)
def number_self_power_y(m=100, n=1000): if type(m) is int and type(n) is int and 0 <= m < n: my_range = (x for x in range(m, n)) for num in my_range: sum = 0 p = len(str(num)) # 冪 a = [int(s) for s in str(num)] # 數(shù) for i in a:sum += i ** p # 和 if num == sum:yield num elif type(m) is not int or type(n) is not int: raise Exception(’參數(shù)類型錯誤’) elif m < 0 or m > n: raise Exception(’參數(shù)超出范圍’)
n = number_self_power_y(0, 10000000)print([i for i in n])
到此這篇關(guān)于python實(shí)現(xiàn)自冪數(shù)的示例代碼的文章就介紹到這了,更多相關(guān)python 自冪數(shù)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法2. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析3. windows服務(wù)器使用IIS時thinkphp搜索中文無效問題4. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法5. Nginx+php配置文件及原理解析6. 淺談python出錯時traceback的解讀7. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向8. Ajax實(shí)現(xiàn)表格中信息不刷新頁面進(jìn)行更新數(shù)據(jù)9. Python importlib動態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼10. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解
