水仙花數是指一個 n 位數 (n ≥ 3),它的每個位上的數字的 n 次冪之和等于它本身。例如,153 是一個水仙花數,因為 1^3 + 5^3 + 3^3 = 153。
以下是判斷一個數是否為水仙花數的 Python 代碼:
def is_armstrong_number(num):
# 將數字轉化為字符串以獲取位數
str_num = str(num)
# 獲取數字的位數
n = len(str_num)
# 計算每個位上數字的 n 次冪之和
armstrong_sum = sum([int(digit)**n for digit in str_num])
# 判斷是否為水仙花數
if armstrong_sum == num:
return True
else:
return False
# 調用函數進行測試
num = 153
if is_armstrong_number(num):
print(num, "是水仙花數")
else:
print(num, "不是水仙花數")
運行結果:
153 是水仙花數