En este programa, aprenderá a mostrar todos los números Armstrong entre dos intervalos dados, bajo y alto, en Java.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:
- Java while y do… while Loop
- Declaración if … else de Java
- Java para 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 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 es un número de Armstrong.
Este programa se basa en el concepto de cómo verificar si un entero es un número de Armstrong o no.
Ejemplo: números de Armstrong entre dos enteros
public class Armstrong ( public static void main(String() args) ( int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) ( int digits = 0; int result = 0; int originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++digits; ) originalNumber = number; // result contains sum of nth power of its digits while (originalNumber != 0) ( int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; ) if (result == number) System.out.print(number + " "); ) ) )
Salida
1634 8208 9474 54748 92727 93084
En el programa anterior, se comprueba cada número entre el intervalo alto y bajo dado.
Después de cada verificación, el número de dígitos y el resultado de la suma se restablecen a 0.