Armstrong Numarası nedir?
Bir Armstrong Sayısında, tek tek basamakların kuvvetlerinin toplamı, sayının kendisine eşittir.
Başka bir deyişle, aşağıdaki denklem doğru olacaktır
xy… z = xn + yn+… + zn
n sayıdaki basamak sayısıdır
Örneğin, bu 3 basamaklı bir Armstrong numarasıdır
370 = 33 + 73 + o3= 27 + 343 + 0= 370
Armstrong Numaralarına Örnekler
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Bunu bir programda yazalım:
Bir numaranın Armstrong Numarası olup olmadığını kontrol etmek için Java Programı
// ChecktempNumber Armstrong veya while döngüsü kullanmıyorpaket com.guru99;public class ArmstrongNumber {public static void main (String [] args) {int inputArmstrongNumber = 153; // Armstrong'u kontrol etmek için numara girinint tempNumber, digit, digitCubeSum = 0;tempNumber = inputArmstrongNumber;while (tempNumber! = 0){/ * Her yinelemede kalan, tempo ile desteklenir basamak sayısı n* /System.out.println ("Geçerli Numara" + tempNumber);basamak = tempNumber% 10;System.out.println ("Geçerli Basamak" + basamaktır);// her basamağın küplerinin toplamı, tempNumber'ın kendisine eşittirdigitCubeSum = digitCubeSum + basamak * basamak * basamak;System.out.println ("Geçerli digitCubeSum" + digitCubeSum);tempNumber / = 10;}// giventempNumber ve digitCubeSum değerinin eşit olup olmadığını kontrol edineğer (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "bir Armstrong Numarasıdır");BaşkaSystem.out.println (inputArmstrongNumber + "Armstrong Numarası değildir");}}Çıktı
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
0'dan 999'a kadar Armstrong sayılarını yazdırmak için Java Programı
// ChecktempNumber Armstrong veya while döngüsü kullanmıyorpaket com.guru99;public class 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) {/ * Her yinelemede kalan, tempo ile desteklenir basamak sayısı n* /basamak = tempNumber% 10;// her basamağın küplerinin toplamı, tempNumber'ın kendisine eşittirdigitCubeSum = digitCubeSum + basamak * basamak * basamak;tempNumber / = 10;}// giventempNumber ve digitCubeSum değerinin eşit olup olmadığını kontrol edineğer (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "bir Armstrong Numarasıdır");}}}Çıktı
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