Programa Python para encontrar o número Armstrong em um intervalo

Exemplo para encontrar todos os números Armstrong entre dois inteiros. Para resolver esse problema, usamos o loop aninhado e a instrução if.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Python:

  • Instrução Python if… else
  • Python while Loop

Um número inteiro positivo é chamado de número Armstrong de ordem n se

abcd… = a n + b n + c n + d n +…

Por exemplo,

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 é um número de Armstrong. 

Visite esta página para saber como você pode verificar se um número é um número Armstrong ou não em Python.

Código fonte

 # 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) 

Resultado

 153 370 371 407 1634 

Aqui, definimos o limite inferior 100 na variável inferior e o limite superior 2000 na variável superior. Usamos o loop for para iterar da variável inferior para a superior. Na iteração, o valor de menor é aumentado em 1 e verificado se é um número de Armstrong ou não.

Você pode alterar o intervalo e testar alterando as variáveis ​​inferior e superior. Observe que a variável inferior deve ser inferior a superior para que este programa funcione corretamente.

Artigos interessantes...