В този пример ще се научите да пишете програма на JavaScript, за да проверите дали числото е число на Армстронг или не.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на JavaScript:
- JavaScript оператори
- JavaScript докато и да … докато Loop
Положително цяло число се нарича число на Армстронг (от порядък n), ако
abcd … = a n + b n + c n + d n + …
В случай на число на Армстронг от 3 цифри, сумата от кубчета от всяка цифра е равна на самото число. Например 153 е число на Армстронг, защото
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
По същия начин 1634 е число на Армстронг, защото:
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 * + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4
Пример 1: Проверете броя на Армстронг от три цифри
// 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.`); )
Изход
Въведете трицифрено положително цяло число: 153 153 е число на Армстронг.
Горната програма взема информация от потребителя. Тогава,
- Въведеният от потребителя номер се съхранява във временна променлива
temp
. - Един
while
цикъл се използва за обхождане трицифрен стойност.- Операторът на модула
%
се използва за получаване на всяко цифрено число. Когато числото се дели на 10 , остатъкът е последната цифра. В първата итерация153 % 10
дава 3 . - Кубът на остатъчната цифра се изчислява чрез умножаване на цифрата три пъти. И кубът се добавя към
sum
променливата. - Цифрата се разделя на 10, за да се премахне последната цифра.
- В
while
цикъл продължава повтаряне и разделяне на броя от 10 до въведеният номер е 0 .
- Операторът на модула
- Накрая сумата се сравнява с номера, въведен от потребителя. Ако сумата и числото са равни, числото е число на Армстронг.
Забележка : В горната програма кубът на число може да бъде изчислен с помощта на експонентен оператор **
. Например,sum += remainder ** 3;
Пример 2: Проверете броя на Армстронг от n цифри
// 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.`); )
Изход
Въведете положително цяло число: 92727 92727 е число на Армстронг
В горната програма се проверява броят на n цифри на Армстронг.
Когато потребителят въведе число, то се приема като низ. В length
имота се връща дължината на низ.
Въведеният от потребителя номер се съхранява в temp
променлива. И while
цикъл се използва за итерация, докато стойността му е по-малка от 0 . Всяка цифра от числото се повишава до степента на дължината на числото.