查找兩個(gè)整數(shù)之間的所有阿姆斯特朗數(shù)字的示例。為了解決這個(gè)問題,我們使用了嵌套循環(huán)和if語句。
要理解此示例,您應(yīng)該了解以下Python編程主題:
一個(gè)正整數(shù)稱為阿姆斯特朗階數(shù),n如果
abcd... = an + bn + cn + dn + ...
例如,
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 is an Armstrong number.
訪問此頁面以了解如何在Python中檢查數(shù)字是否為Armstrong數(shù)字。
# Python程序在整數(shù)中查找阿姆斯特朗數(shù) lower = 100 upper = 2000 for num in range(lower, upper + 1): # order 個(gè)數(shù) order = len(str(num)) # 初始化 sum sum = 0 temp = num while temp > 0: digit = temp % 10 sum += digit ** order temp //= 10 if num == sum: print(num)
輸出結(jié)果
153 370 371 407 1634
這里,我們在變量lower中設(shè)置了下限100,在變量upper中設(shè)置了上限2000。我們使用了for循環(huán)來從變量lower到upper進(jìn)行迭代。在迭代中,lower的值增加1,并檢查它是否為阿姆斯特朗數(shù)。
您可以更改范圍并通過更改變量lower和upper進(jìn)行測試。請注意,該變量lower應(yīng)小upper于此程序才能正常運(yùn)行。