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.