python基本算法合集(11)——找水仙花數


所謂水仙花數就是給定隨機的三位數,它的各位數字的三次冪之和等於它本身,如:

三位數153=1^+5^3+3^3

要求編程實現判斷給定范圍內的水仙花數。

難點在於要分解出三位數的個位數、十位數和百位數。

下面用153為例,分解百位數、十位數和個位數

分解百位數:153//100=1

分解十位數:153//10%10=5

分解個位數:153%10=3

其實只要把要分解的數字想辦法弄到個位上去,即往前點小數點,如要分解百位數就要把1弄到個位數上去即往前點2為即1.53,分解十位數即將小數點往前點1位即15.3再與10取余,分解個位數簡單了與10取余即可。代碼如下:

for n in range(0,100000000):
    i=n//100#得到百位數
    j=n//10%10#得到十位數
    k=n%10#得到個位數
    if n==i**3+j**3+k**3:
        print('水仙花數:{}'.format(n))

執行效果如下:

 


免責聲明!

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



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