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