題目
如果一個 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()))
