Un entero positivo con dígitos p, q, r, s…, se conoce como número de Armstrong de orden n si se cumple la siguiente condición.
pqrs... = pn + qn + rn + sn +....
Ejemplo:
370 = 3*3*3 + 7*7*7 + 0 = 27 + 343 + 0 = 370
Por lo tanto, 370 es un número de Armstrong .
Ejemplos:
Input : 100 200 Output :153 Explanation : 100 and 200 are given two integers. 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153 Therefore, only 153 is an Armstrong number between 100 and 200.
Acercarse:
En primer lugar, recorreremos todos los números en el rango dado. Luego, para cada número, tenemos que contar el número de dígitos que tiene. Si el número de dígitos en el número actual es n entonces, encuentre la suma de la (n-ésima) potencia de todos los dígitos en el número indicado. Y si la suma es igual al número actual i , imprima el número.
Ejemplo:
Java
// JAVA program to find Armstrong // numbers between two integers import java.io.*; import java.math.*; class gfg { // Function to print Armstrong // Numbers between two integers static void ArmstrongNum(int l, int h) { for (int j = l + 1; j < h; ++j) { // Calculating number of digits int y = j; int N = 0; while (y != 0) { y /= 10; ++N; } // Calculating the sum of nth // power of all the digits int sum_power = 0; y = j; while (y != 0) { int d = y % 10; sum_power += Math.pow(d, N); y /= 10; } // Checking if the current number // i is equal to the sum of nth // power of all the digits if (sum_power == j) System.out.print(j + " "); } } // The Driver code public static void main(String args[]) { int n1 = 50; int n2 = 500; ArmstrongNum(n1, n2); System.out.println(); } }
153 370 371 407
De manera similar, podemos encontrar los números de Armstrong dentro de cualquier rango dado.
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA