Co to jest numer Armstrong?
W liczbie Armstronga suma potęgi poszczególnych cyfr jest równa samej liczbie.
Innymi słowy, poniższe równanie będzie prawdziwe
xy… z = xn + yn+… + zn
n to liczba cyfr w liczbie
Na przykład jest to 3-cyfrowy numer Armstronga
370 = 33 + 73 + o3= 27 + 343 + 0= 370
Przykłady liczb Armstrong
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Napiszmy to w programie:
Program Java do sprawdzania, czy liczba jest numerem Armstronga
// ChecktempNumber to Armstrong lub nie używa pętli whilepakiet com.guru99;klasa publiczna ArmstrongNumber {public static void main (String [] args) {int inputArmstrongNumber = 153; // Wpisz liczbę, aby sprawdzić armstrongaint tempNumber, digit, digitCubeSum = 0;tempNumber = inputArmstrongNumber;while (tempNumber! = 0){/ * W każdej iteracji reszta jest zasilana przez thetempNumber n* /System.out.println ("Bieżący numer to" + tempNumber);digit = tempNumber% 10;System.out.println ("Bieżąca cyfra to" + cyfra);// suma kostek każdej cyfry jest równa samemu tempNumberdigitCubeSum = digitCubeSum + cyfra * cyfra * cyfra;System.out.println ("Bieżąca wartość digitCubeSum to" + digitCubeSum);tempNumber / = 10;}// sprawdź, czy giventempNumber i digitCubeSum są równe, czy nieif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "to numer Armstronga");jeszczeSystem.out.println (inputArmstrongNumber + "nie jest numerem Armstronga");}}Wynik
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
Program Java do drukowania numerów Armstrong od 0 do 999
// ChecktempNumber to Armstrong lub nie używa pętli whilepakiet com.guru99;klasa publiczna ArmstrongNumber {public static void main (String [] args) {int tempNumber, digit, digitCubeSum;for (int inputArmstrongNumber = 0; inputArmstrongNumber <1000; inputArmstrongNumber ++) {tempNumber = inputArmstrongNumber;digitCubeSum = 0;while (tempNumber! = 0) {/ * W każdej iteracji reszta jest zasilana przez thetempNumber n* /digit = tempNumber% 10;// suma kostek każdej cyfry jest równa samemu tempNumberdigitCubeSum = digitCubeSum + cyfra * cyfra * cyfra;tempNumber / = 10;}// sprawdź, czy giventempNumber i digitCubeSum są równe, czy nieif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "to numer Armstronga");}}}Wynik
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