Mi az Armstrong-szám?
Az Armstrong-számban az egyes számjegyek erejének összege megegyezik magával a számmal.
Más szavakkal, a következő egyenlet igaz lesz
xy… z = xn + yn+… + zn
n a számban szereplő számjegyek száma
Például ez egy háromjegyű Armstrong szám
370 = 33 + 73 + o3= 27 + 343 + 0= 370
Példák Armstrong számokra
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Írjuk ezt egy programba:
Java program annak ellenőrzésére, hogy egy szám Armstrong-szám
// A ChecktempNumber Armstrong, vagy nem használja while ciklustcom.guru99 csomag;nyilvános osztály ArmstrongNumber {public static void main (String [] érvel) {int inputArmstrongNumber = 153; // Beviteli szám az önerő ellenőrzéséhezint tempNumber, digit, digitCubeSum = 0;tempNumber = inputArmstrongNumber;míg (tempNumber! = 0){/ * Minden iterációnál a maradékot a thetempN számjegyek száma adja n* /System.out.println ("A jelenlegi szám: + tempNumber);szám = tempNumber% 10;System.out.println ("Az aktuális számjegy" + számjegy);// az egyes számjegyek kockáinak összege megegyezik magával a thetempNumber értékkeldigitCubeSum = digitCubeSum + számjegy * számjegy * számjegy;System.out.println ("Az aktuális digitCubeSum értéke" + digitCubeSum);tempNumber / = 10;}// check giventempNumber és digitCubeSum egyenlő vagy semif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "egy Armstrong-szám");másSystem.out.println (inputArmstrongNumber + "nem Armstrong-szám");}}Kimenet
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 az Armstrong számainak 0 és 999 közötti nyomtatásához
// A ChecktempNumber Armstrong, vagy nem használja while ciklustcom.guru99 csomag;nyilvános osztály ArmstrongNumber {public static void main (String [] érvel) {int tempNumber, digit, digitCubeSum;for (int inputArmstrongNumber = 0; inputArmstrongNumber <1000; inputArmstrongNumber ++) {tempNumber = inputArmstrongNumber;digitCubeSum = 0;while (tempNumber! = 0) {/ * Minden iterációnál a maradékot a thetempN számjegyek száma adja n* /szám = tempNumber% 10;// az egyes számjegyek kockáinak összege megegyezik magával a thetempNumber értékkeldigitCubeSum = digitCubeSum + számjegy * számjegy * számjegy;tempNumber / = 10;}// check giventempNumber és digitCubeSum egyenlő vagy semif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "egy Armstrong-szám");}}}Kimenet
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