Programa JavaScript para verificar o número Armstrong (com exemplos)

Neste exemplo, você aprenderá a escrever um programa em JavaScript para verificar se um número é um número Armstrong ou não.

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

  • Operadores de JavaScript
  • JavaScript while e do … 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 é um número de Armstrong porque

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3

Da mesma forma, 1634 é um número Armstrong porque:

 1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4

Exemplo 1: Verifique o número Armstrong de três dígitos

 // program to check an Armstrong number of three digits let sum = 0; const number = prompt('Enter a three-digit positive integer: '); // create a temporary variable let temp = number; while (temp> 0) ( // finding the one's digit let remainder = temp % 10; sum += remainder * remainder * remainder; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) // check the condition if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )

Resultado

 Insira um número inteiro positivo de três dígitos: 153 153 é um número Armstrong.

O programa acima recebe uma entrada do usuário. Então,

  1. O número inserido pelo usuário é armazenado em uma variável temporária temp.
  2. Um whileloop é usado para iterar um valor de três dígitos.
    1. O operador de módulo % é usado para obter cada número de dígito. Quando um número é dividido por 10 , o resto é o último dígito. Na primeira iteração, 153 % 103 .
    2. O cubo do dígito restante é calculado multiplicando o dígito três vezes. E o cubo é adicionado à sumvariável.
    3. O dígito é dividido por 10 para remover o último dígito.
    4. O whileloop continua iterando e dividindo o número por 10 até que o número seja 0 .
  3. Finalmente, a soma é comparada com o número inserido pelo usuário. Se a soma e o número forem iguais, o número é um número de Armstrong.

Nota : No programa acima, o cubo de um número pode ser calculado usando um operador expoente **. Por exemplo,sum += remainder ** 3;

Exemplo 2: verificar o número de Armstrong de n dígitos

 // program to check an Armstrong number of n digits // take an input const number = prompt("Enter a positive integer"); const numberOfDigits = number.length; let sum = 0; // create a temporary variable let temp = number; while (temp> 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )

Resultado

 Insira um número inteiro positivo: 92727 92727 é um número Armstrong

No programa acima, um número Armstrong de n dígitos é verificado.

Quando o usuário insere um número, ele é considerado uma string. A lengthpropriedade retorna o comprimento de uma string.

O número inserido pelo usuário é armazenado em uma tempvariável. E um whileloop é usado para iterar até que seu valor seja menor que 0 . Cada dígito do número é elevado à potência do comprimento do número.

Artigos interessantes...