間隔内でアームストロング数を見つけるPythonプログラム

正の整数は、アームストロング次数と呼ばれます n もし

abcd... = an + bn + cn + dn + ...

例えば、

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 is an Armstrong number.

Pythonで数値がアームストロング数であるかどうかを確認する方法については、このページにアクセスしてください。

ソースコード

# Program to check Armstrong numbers in a certain interval

lower = 100
upper = 2000

for num in range(lower, upper + 1):

   # order of number
   order = len(str(num))
    
   # initialize sum
   sum = 0

   temp = num
   while temp > 0:
       digit = temp % 10
       sum += digit ** order
       temp //= 10

   if num == sum:
       print(num)

出力

153
370
371
407
1634

ここでは、変数に下限100を設定しました 変数の上限2000 アッパー。 変数から反復するためにforループを使用しました アッパー。 反復では、の値 1ずつ増加し、アームストロング数であるかどうかを確認します。

変数を変更することで、範囲を変更してテストすることができます そして アッパー。 注意、変数 より低くする必要があります アッパー このプログラムが正しく機能するために。



Hope this helps!

Source link