In questo programma imparerai a visualizzare tutti i numeri armstrong tra due intervalli dati, basso e alto, in Java.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Java while e do … while Loop
- Istruzione Java if … else
- Java per Loop
Un numero intero positivo è chiamato numero Armstrong di ordine n se
abcd … = a n + b n + c n + d n + …
In caso di un numero Armstrong di 3 cifre, la somma dei cubi di ciascuna cifra è uguale al numero stesso. Per esempio:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 è un numero Armstrong.
Questo programma si basa sul concetto di come controllare se un intero è un numero Armstrong o meno.
Esempio: numeri Armstrong tra due interi
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 + " "); ) ) )
Produzione
1634 8208 9474 54748 92727 93084
Nel programma di cui sopra, ogni numero compreso tra il dato intervallo alto e basso viene controllato.
Dopo ogni controllo, il numero di cifre e il risultato della somma vengono riportati a 0.