Python編程題2--水仙花數


題目

如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一個水仙花數
請按照從小到大的順序輸出 1000 以內的水仙花數(3位數),並用"逗號"分隔輸出結果

實現思路

  • 用 for循環 控制1000以內的3位數
  • 依次求出該3位數中的個十百位,判斷是否是水仙花數
  • 先把3位數轉為字符串類型,再添加到列表中
  • 對結果進行處理,通過 join() 方法用 "," 拼接

代碼實現

def demo():
    temp = []
    for i in range(100, 1000):
        a = i // 100 # 百位
        b = i // 10 % 10 # 十位
        c = i % 10 # 個位
        if a ** 3 + b ** 3 + c ** 3 == i:
            temp.append(str(i))
    return ",".join(temp)

print("1000以內的水仙花數有:{}".format(demo()))


免責聲明!

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



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