Python練習題 009:水仙花數


【Python練習題 009】 打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。

----------------------------------------------------------------------

這題也是送分題,只要能把任意三位數的百位、十位、個位拆解出來就好辦了。思路:將任意3位數除以100再向下取整,即可得到百位數。將這個3位數減去(百位數*100),即可去掉百位數,然后除以10再向下取整,即可得到十位數。將這個3位數除以10再取整再乘以10(得到整幾百幾十的數字),然后拿這個3位數減去這個數字,即可得到個位數。代碼如下:

import math

for i in range(100, 1000):
    x = math.floor(i/100)  #獲得百位數
    y = math.floor((i - x*100)/10)  #獲得十位數
    z = i - math.floor(i/10) *10  #獲得個位數
    if i == x**3 + y**3 + z**3:
        print(i, end=', ')

輸出結果如下:

153, 370, 371, 407

 

++++++++++++++++++++++++++++++++++++++

題目出處:編程語言入門經典100例【Python版】


免責聲明!

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



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