Bu örnekte, bir sayının Armstrong numarası olup olmadığını kontrol etmek için JavaScript'te bir program yazmayı öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki JavaScript programlama konuları hakkında bilgi sahibi olmalısınız:
- JavaScript Operatörleri
- JavaScript while and do… Döngü sırasında
Pozitif bir tamsayı, Armstrong numarası olarak adlandırılır (n sırasına göre)
abcd… = bir n + b n + c n + d n +…
Armstrong sayısının 3 basamaklı olması durumunda, her basamağın küplerinin toplamı, sayının kendisine eşittir. Örneğin, 153 bir Armstrong numarasıdır çünkü
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
Benzer şekilde, 1634 bir Armstrong numarasıdır çünkü:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Örnek 1: Armstrong'un Üç Haneli Sayısını Kontrol Edin
// program to check an Armstrong number of three digits let sum = 0; const number = prompt('Enter a three-digit positive integer: '); // create a temporary variable let temp = number; while (temp> 0) ( // finding the one's digit let remainder = temp % 10; sum += remainder * remainder * remainder; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) // check the condition if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )
Çıktı
Üç basamaklı pozitif bir tam sayı girin: 153 153, bir Armstrong sayısıdır.
Yukarıdaki program kullanıcıdan bir girdi alır. Sonra,
- Kullanıcı tarafından girilen numara geçici bir değişkende saklanır
temp
. - Bir
while
döngü, üç basamaklı bir değer yineleme için kullanılır.- Modülü operatör
%
her basamaklı bir sayı elde etmek için kullanılır. Bir sayı 10'a bölündüğünde , kalan son rakamdır. İlk iterasyonda 3153 % 10
verir . - Kalan basamağın küpü, basamak üç kez çarpılarak hesaplanır. Ve küp
sum
değişkene eklenir . - Rakam, son rakamı kaldırmak için 10'a bölünür .
while
Döngü yineleme tarafından sayısına bölünmesi devam 10 numara kadar 0 .
- Modülü operatör
- Son olarak, toplam, kullanıcı tarafından girilen sayı ile karşılaştırılır. Toplam ve sayı eşitse, sayı bir Armstrong sayısıdır.
Not : Yukarıdaki programda, bir sayının küpü üslü bir operatör kullanılarak hesaplanabilir **
. Örneğin,sum += remainder ** 3;
Örnek 2: Armstrong Sayısının n Basamaklarını Kontrol Edin
// program to check an Armstrong number of n digits // take an input const number = prompt("Enter a positive integer"); const numberOfDigits = number.length; let sum = 0; // create a temporary variable let temp = number; while (temp> 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == number) ( console.log(`$(number) is an Armstrong number`); ) else ( console.log(`$(number) is not an Armstrong number.`); )
Çıktı
Pozitif bir tam sayı girin: 92727 92727, Armstrong numarasıdır
Yukarıdaki programda, bir Armstrong sayısı n basamak kontrol edilir.
Kullanıcı bir sayı girdiğinde dizge olarak alınır. length
Tesiste dize uzunluğunu döndürür.
Kullanıcı tarafından girilen numara bir temp
değişkende saklanır . Ve while
değeri 0'dan küçük olana kadar yinelemek için bir döngü kullanılır . Sayının her basamağı, sayının uzunluğunun üssüne yükseltilir.