В этом примере вы научитесь писать программу на JavaScript, чтобы проверять, является ли число числом Армстронга или нет.
Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:
- Операторы JavaScript
- JavaScript while и do … while Цикл
Положительное целое число называется числом Армстронга (порядка 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 . Каждая цифра числа возводится в степень длины числа.