Programa JavaScript para encontrar el número Armstrong en un intervalo

En este ejemplo, aprenderá a escribir un programa en JavaScript para encontrar un número Armstrong entre dos valores enteros.

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

  • JavaScript para bucle

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

Antes de probar este programa, visite el Programa JavaScript para verificar el número Armstrong.

Ejemplo: números de Armstrong entre dos intervalos

 // program to find Armstrong number between intervals // take an input const lowNumber = parseInt(prompt('Enter a positive low integer value: ')); const highNumber = parseInt(prompt('Enter a positive high integer value: ')); console.log ('Armstrong Numbers:'); // looping through lowNumber to highNumber for (let i = lowNumber; i 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == i) ( console.log(i); ) )

Salida

 Ingrese un valor entero bajo positivo: 8 Ingrese un valor entero alto positivo: 500 Números Armstrong: 8 9 153 370 371 407

En el programa anterior, se solicita al usuario que ingrese dos números enteros. Uno es el número entero de intervalo más bajo y otro es el valor entero más alto.

El parseInt()convierte el valor cadena numérica a un valor entero.

El forbucle se utiliza para recorrer los dos números proporcionados por el usuario.

El toString()método se utiliza para convertir el número en una cadena. Y la lengthpropiedad se usa para encontrar la longitud de una cadena. Por lo tanto, en este caso, lengthda el total de dígitos del número.

 let numberOfDigits = i.toString().length;

En la primera foriteración del ciclo ( i = 8 ),

  1. El número más bajo ingresado por el usuario se almacena en una variable temporal temp.
  2. Se whileusa un bucle para iterar el número.
    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, 8 % 10da 8 .
    2. El resto se multiplica por el número de dígitos de ese número (aquí 1 ) y se calcula la suma.
    3. El dígito se divide por 10 para eliminar el último dígito, es decir, 8 / 10da 0.
  3. Finalmente, la suma se compara con el número ingresado por el usuario. Si la suma y el número son iguales, se muestra el número de Armstrong.

El ciclo continúa para todos los números que se encuentran entre los límites inferior y superior proporcionados por el usuario. En el ejemplo anterior, el ciclo se ejecuta de 8 a 500 .

Articulos interesantes...