Какво е числото на Армстронг?
В числото на Армстронг сумата на мощността на отделните цифри е равна на самото число.
С други думи, следното уравнение ще е вярно
xy… z = xn + yn+… + zn
n е броят на цифрите в брой
Например това е трицифрено число на Армстронг
370 = 33 + 73 + o3= 27 + 343 + 0= 370
Примери за числа на Армстронг
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Нека напишем това в програма:
Програма Java за проверка дали числото е число на Армстронг
// ChecktempNumber е Армстронг или не използва цикъл whileпакет com.guru99;публична класа ArmstrongNumber {публична статична void main (String [] args) {int inputArmstrongNumber = 153; // Входен номер за проверка на армстронгint tempNumber, цифра, digitCubeSum = 0;tempNumber = inputArmstrongNumber;докато (tempNumber! = 0){/ * При всяка итерация остатъкът се захранва от thetempNumber от цифри n* /System.out.println ("Текущият номер е" + tempNumber);цифра = tempNumber% 10;System.out.println ("Текущата цифра е" + цифра);// сумата от кубчета от всяка цифра е равна на самия tempNumberdigitCubeSum = digitCubeSum + цифра * цифра * цифра;System.out.println ("Текущата цифраCubeSum е" + цифраCubeSum);tempNumber / = 10;}// проверяваме giventempNumber и digitCubeSum е равно или неif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "е номер на Армстронг");другоSystem.out.println (inputArmstrongNumber + "не е номер на Армстронг");}}Изход
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 за отпечатване на номера на Армстронг от 0 до 999
// ChecktempNumber е Армстронг или не използва цикъл whileпакет com.guru99;публична класа ArmstrongNumber {публична статична void main (String [] args) {int tempNumber, цифра, digitCubeSum;за (int inputArmstrongNumber = 0; inputArmstrongNumber <1000; inputArmstrongNumber ++) {tempNumber = inputArmstrongNumber;digitCubeSum = 0;докато (tempNumber! = 0) {/ * При всяка итерация остатъкът се захранва от thetempNumber от цифри n* /цифра = tempNumber% 10;// сумата от кубчета от всяка цифра е равна на самия tempNumberdigitCubeSum = digitCubeSum + цифра * цифра * цифра;tempNumber / = 10;}// проверяваме giventempNumber и digitCubeSum е равно или неif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "е номер на Армстронг");}}}Изход
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