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,
- O número inserido pelo usuário é armazenado em uma variável temporária
temp
. - Um
while
loop é usado para iterar um valor de três dígitos.- 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 % 10
dá 3 . - O cubo do dígito restante é calculado multiplicando o dígito três vezes. E o cubo é adicionado à
sum
variável. - O dígito é dividido por 10 para remover o último dígito.
- O
while
loop continua iterando e dividindo o número por 10 até que o número seja 0 .
- O operador de módulo
- 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 length
propriedade retorna o comprimento de uma string.
O número inserido pelo usuário é armazenado em uma temp
variável. E um while
loop é 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.