題目
輸入一個數,判斷是否為阿姆斯特朗數,阿姆斯特朗數指一個n位正整數等于其各位數字的n次方之和。其中n為3時是水仙花數。
分析
利用循環,獲取數的長度,根據長度和定義,拆分出來運算
答案
while True:n = int(input('請輸入一個數:')) l = len(str(n)) # 獲取該數的長度s = 0 # 定義求和變量t = n # 將n值賦值給t,對t做運算while t>0: # 循環遍歷t,將t拆分d = t%10 # 獲取t的個位數s += d**l # 將t的個位數的1次方累加到s中t //= 10 # 對t做整除運算if n == s: # 判斷原來是數n和求和后的數s是否相等print('%d是阿姆斯特朗數'%n)else:print('%d不是阿姆斯特朗數'%n)