?
? ????? PHP ??? ???? ??? ?? ??
如果一個(gè)n位正整數(shù)等于其各位數(shù)字的n次方之和,則稱該數(shù)為阿姆斯特朗數(shù)。 例如1^3 + 5^3 + 3^3 = 153
以下代碼用于檢測(cè)用戶輸入的數(shù)字是否為阿姆斯特朗數(shù):
# -*- coding: UTF-8 -*- # Filename :test.py # author by : www.shouce.ren # Python 檢測(cè)用戶輸入的數(shù)字是否為阿姆斯特朗數(shù) # 獲取用戶輸入的數(shù)字 num = int(input("請(qǐng)輸入一個(gè)數(shù)字: ")) # 初始化變量 sum sum = 0 # 檢測(cè) temp = num while temp > 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # 輸出結(jié)果 if num == sum: print(num,"是阿姆斯特朗數(shù)") else: print(num,"不是阿姆斯特朗數(shù)")
執(zhí)行以上代碼輸出結(jié)果為:
# python3 test.py 請(qǐng)輸入一個(gè)數(shù)字: 345 345 不是阿姆斯特朗數(shù)
python3 test.py 請(qǐng)輸入一個(gè)數(shù)字: 153 153 是阿姆斯特朗數(shù)
# -*- coding: UTF-8 -*- # Filename :test.py # author by : www.shouce.ren # 獲取用戶輸入數(shù)字 lower = int(input("最小值: ")) upper = int(input("最大值: ")) for num in range(lower,upper + 1): # initialize sum sum = 0 # 檢測(cè) temp = num while temp > 0: digit = temp % 10 sum += digit ** 3 temp //= 10 if num == sum: print(num)
執(zhí)行以上代碼輸出結(jié)果為:
最小值: 1 最大值: 1000 1 153 370 371 407
以上實(shí)例中我們輸出了 1 到 1000 之間的阿姆斯特朗數(shù)。