Programa Python para verificar o número Armstrong

Neste exemplo, você aprenderá a verificar se um inteiro de n dígitos é um número de Armstrong ou não.

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 +…

No caso de um número Armstrong de 3 dígitos, a soma dos cubos de cada dígito é igual ao próprio número. Por exemplo:

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

Código Fonte: Verifique o número Armstrong (para 3 dígitos)

 # Python program to check if the number is an Armstrong number or not # take input from the user num = int(input("Enter a number: ")) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Produto 1

 Digite um número: 663 663 não é um número Armstrong 

Produto 2

 Digite um número: 407 407 é um número da Armstrong 

Aqui, pedimos ao usuário um número e verificamos se é um número Armstrong.

Precisamos calcular a soma do cubo de cada dígito. Portanto, inicializamos a soma em 0 e obtemos cada número de dígito usando o operador de módulo%. O resto de um número quando é dividido por 10 é o último dígito desse número. Pegamos os cubos usando o operador expoente.

Finalmente, comparamos a soma com o número original e concluímos que é o número de Armstrong se eles forem iguais.

Código Fonte: Verifique o número Armstrong de n dígitos

num = 1634 # Changed num variable to string, # and calculated the length (number of digits) order = len(str(num)) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** order temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Você pode alterar o valor de num no código-fonte e executar novamente para testá-lo.

Artigos interessantes...