Hvad er Armstrong Number?
I et Armstrong-nummer er summen af kraften for individuelle cifre lig med selve antallet.
Med andre ord gælder følgende ligning
xy… z = xn + yn+… + zn
n er antallet af cifre i antal
For eksempel er dette et 3-cifret Armstrong-nummer
370 = 33 + 73 + o3= 27 + 343 + 0= 370
Eksempler på Armstrong Numbers
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Lad os skrive dette i et program:
Java-program til at kontrollere, om et nummer er Armstrong Number
// ChecktempNumber er Armstrong eller bruger ikke mens looppakke com.guru99;offentlig klasse ArmstrongNumber {public static void main (String [] args) {int inputArmstrongNumber = 153; // Indtastningsnummer for at kontrollere armstrongint tempNumber, ciffer, digitCubeSum = 0;tempNumber = inputArmstrongNumber;mens (tempNumber! = 0){/ * På hver iteration er resten drevet af tempetAntal cifre n* /System.out.println ("Nuværende antal er" + tempNummer);ciffer = tempNumber% 10;System.out.println ("Nuværende ciffer er" + ciffer);// summen af terninger af hvert ciffer er lig med selve tempNummeretdigitCubeSum = digitCubeSum + ciffer * ciffer * ciffer;System.out.println ("Nuværende digitCubeSum er" + digitCubeSum);tempNumber / = 10;}// check giventempNumber og digitCubeSum er lig med eller ejhvis (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "er et Armstrong-nummer");andetSystem.out.println (inputArmstrongNumber + "er ikke et Armstrong-nummer");}}Produktion
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-program til udskrivning af Armstrong-numre fra 0 til 999
// ChecktempNumber er Armstrong eller bruger ikke mens looppakke com.guru99;offentlig klasse ArmstrongNumber {public static void main (String [] args) {int tempNumber, ciffer, digitCubeSum;for (int inputArmstrongNumber = 0; inputArmstrongNumber <1000; inputArmstrongNumber ++) {tempNumber = inputArmstrongNumber;digitCubeSum = 0;mens (tempNumber! = 0) {/ * På hver iteration er resten drevet af tempetAntal cifre n* /ciffer = tempNumber% 10;// summen af terninger af hvert ciffer er lig med selve tempNummeretdigitCubeSum = digitCubeSum + ciffer * ciffer * ciffer;tempNumber / = 10;}// check giventempNumber og digitCubeSum er lig med eller ejhvis (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "er et Armstrong-nummer");}}}Produktion
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