Python 阿姆斯特朗數位檢查器
驗證一個數字是否是阿姆斯壯(自戀)數字,其中它自己的數字總和的位數次方等於數字本身。
概述
阿姆斯壯數(也稱為自戀數或過完美數字不變數)是一個 n 位數字,等於其數字的 n 次方之和。
例如,153 是 3 位阿姆斯壯數,因為 1^3 + 5^3 + 3^3 = 153。同樣,9474 是 4 位元阿姆斯壯數,因為 9^4 + 4^4 + 7^4 + 4^4 = 9474。
我們在 Python 中實現這一點,方法是將整數轉換為字串,以便輕鬆計算位數並迭代每個數字。
程式碼和執行輸出
檢查一系列數字以確定它們是否符合阿姆斯特朗數的數學標準。
armstrong.py
在編輯器中嘗試def is_armstrong(num):
num_str = str(num)
n = len(num_str)
digit_sum = sum(int(digit) ** n for digit in num_str)
return digit_sum == num
test_nums = [153, 370, 9474, 123]
for val in test_nums:
result = "Armstrong" if is_armstrong(val) else "Not Armstrong"
print(f"{val:4d} -> {result}")端子輸出
153 -> Armstrong
370 -> Armstrong
9474 -> Armstrong
123 -> Not Armstrong逐步實施
- 數論研究和邏輯練習
- 課堂數學程式設計作業
- 休閒節目
常見問題解答
所有的數字都是阿姆斯壯數嗎?
是的。任何一位數字的 1 次方都等於其自身(例如,5^1 = 5)。