如果一個 n 位正整數等於其各位數字的 n 次方之和,則稱該數爲阿姆斯特朗數。 例如 1^3 + 5^3 + 3^3 = 153。

1000 以內的阿姆斯特朗數: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。 請編寫程序,檢測用戶輸入的數字是否爲阿姆斯特朗數。

i = input("請輸入與一個正整數:")
sum = 0
value = len(i)
for j in range(value):
    sum += int(i[j])**value
if sum == int(i):
    print(f"數值{i}是阿姆斯特朗數")
else:
    print(f"數值{i}不是阿姆特朗數")

# 法二:
# 獲取用戶輸入的數字
num = int(input("請輸入一個數字: "))
# 初始化變量 sum
sum = 0
# 指數
n = len(str(num))
# 檢測
temp = num
while temp > 0:
    digit = temp % 10
    sum += digit ** n
    temp //= 10
# 輸出結果
if num == sum:
    print(num, "是阿姆斯特朗數")
else:
    print(num, "不是阿姆斯特朗數")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章