Wat is Armstrong-nummer?
In een Armstrong-getal is de som van de macht van individuele cijfers gelijk aan het getal zelf.
Met andere woorden, de volgende vergelijking zal waar zijn
xy… z = xn + yn+… + zn
n is het aantal cijfers in een getal
Dit is bijvoorbeeld een 3-cijferig Armstrong-nummer
370 = 33 + 73 + o3= 27 + 343 + 0= 370
Voorbeelden van Armstrong-nummers
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Laten we dit in een programma schrijven:
Java-programma om te controleren of een nummer Armstrong-nummer is
// ChecktempNumber is Armstrong of gebruikt de while-lus nietpakket com.guru99;openbare klasse ArmstrongNumber {public static void main (String [] args) {int inputArmstrongNumber = 153; // Voer een nummer in om Armstrong te controlerenint tempNumber, digit, digitCubeSum = 0;tempNumber = inputArmstrongNumber;while (tempNumber! = 0)/ * Bij elke iteratie wordt de rest aangedreven door het tempAantal cijfers nSystem.out.println ("Huidig nummer is" + tempNummer);cijfer = tempNumber% 10;System.out.println ("Huidig cijfer is" + cijfer);// som van kubussen van elk cijfer is gelijk aan het tempNummer zelfdigitCubeSum = digitCubeSum + cijfer * cijfer * cijfer;System.out.println ("Huidige digitCubeSum is" + digitCubeSum);tempNumber / = 10;// controleer giventempNumber en digitCubeSum is gelijk aan of nietif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "is een Armstrong-nummer");andersSystem.out.println (inputArmstrongNumber + "is geen Armstrong-nummer");Uitvoer
Current Number is 153Current Digit is 3Current digitCubeSum is 27Current Number is 15Current Digit is 5Current digitCubeSum is 152Current Number is 1Current Digit is 1Current digitCubeSum is 153153 is an Armstrong Number
Java-programma om Armstrong-nummers van 0 tot 999 af te drukken
// ChecktempNumber is Armstrong of gebruikt de while-lus nietpakket com.guru99;openbare klasse ArmstrongNumber {public static void main (String [] args) {int tempNumber, digit, digitCubeSum;voor (int inputArmstrongNumber = 0; inputArmstrongNumber <1000; inputArmstrongNumber ++) {tempNumber = inputArmstrongNumber;digitCubeSum = 0;while (tempNumber! = 0) {/ * Bij elke iteratie wordt de rest aangedreven door het tempAantal cijfers ncijfer = tempNumber% 10;// som van kubussen van elk cijfer is gelijk aan het tempNummer zelfdigitCubeSum = digitCubeSum + cijfer * cijfer * cijfer;tempNumber / = 10;// controleer giventempNumber en digitCubeSum is gelijk aan of nietif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "is een Armstrong-nummer");Uitvoer
0 is an Armstrong Number1 is an Armstrong Number153 is an Armstrong Number370 is an Armstrong Number371 is an Armstrong Number407 is an Armstrong Number