In dit programma leer je om alle Armstrong-getallen tussen twee gegeven intervallen, laag en hoog, in Java weer te geven.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java while en do … while Loop
- Java if… else-instructie
- Java voor Loop
Een positief geheel getal wordt een Armstrong-getal van de orde n als genoemd
abcd … = een n + b n + c n + d n + …
In het geval van een Armstrong-nummer van 3 cijfers, is de som van kubussen van elk cijfer gelijk aan het nummer zelf. Bijvoorbeeld:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 is een Armstrong-getal.
Dit programma is gebaseerd op het concept om te controleren of een geheel getal een Armstrong-getal is of niet.
Voorbeeld: Armstrong-nummers tussen twee gehele getallen
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 + " "); ) ) )
Uitvoer
1634 8208 9474 54748 92727 93084
In het bovenstaande programma wordt elk getal tussen het opgegeven interval hoog en laag gecontroleerd.
Na elke controle wordt het aantal cijfers en het somresultaat teruggezet op 0.