Programa JavaScript para verificar el número Armstrong (con ejemplos)

En este ejemplo, aprenderá a escribir un programa en JavaScript para verificar si un número es un número de Armstrong o no.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de JavaScript:

  • Operadores de JavaScript
  • JavaScript while y do… while Loop

Un entero positivo se llama número de Armstrong (de orden n) si

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

En el caso de un número Armstrong de 3 dígitos, la suma de los cubos de cada dígito es igual al número en sí. Por ejemplo, 153 es un número de Armstrong porque

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

De manera similar, 1634 es un número de Armstrong porque:

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

Ejemplo 1: Compruebe el número de tres dígitos de Armstrong

 // 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.`); )

Salida

 Introduzca un número entero positivo de tres dígitos: 153 153 es un número de Armstrong.

El programa anterior toma una entrada del usuario. Entonces,

  1. El número ingresado por el usuario se almacena en una variable temporal temp.
  2. Se whileutiliza un bucle para iterar un valor de tres dígitos.
    1. El operador de módulo % se utiliza para obtener cada número de dígito. Cuando un número se divide por 10 , el resto es el último dígito. En la primera iteración, 153 % 10da 3 .
    2. El cubo del dígito restante se calcula multiplicando el dígito tres veces. Y el cubo se agrega a la sumvariable.
    3. El dígito se divide por 10 para eliminar el último dígito.
    4. El whileciclo continúa iterando y dividiendo el número por 10 hasta que el número es 0 .
  3. Finalmente, la suma se compara con el número ingresado por el usuario. Si la suma y el número son iguales, el número es un número de Armstrong.

Nota : En el programa anterior, el cubo de un número se podría calcular usando un operador de exponente **. Por ejemplo,sum += remainder ** 3;

Ejemplo 2: comprobar el número de n dígitos de Armstrong

 // 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.`); )

Salida

 Ingrese un número entero positivo: 92727 92727 es un número de Armstrong

En el programa anterior, se comprueba un número Armstrong de n dígitos.

Cuando el usuario ingresa un número, se toma como una cadena. La lengthpropiedad devuelve la longitud de una cadena.

El número ingresado por el usuario se almacena en una tempvariable. Y whilese usa un bucle para iterar hasta que su valor sea menor que 0 . Cada dígito del número se eleva a la potencia de la longitud del número.

Articulos interesantes...