В этом примере вы научитесь писать программу на JavaScript, чтобы найти число Армстронга между двумя целыми значениями.
Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:
- JavaScript для цикла
Положительное целое число называется числом Армстронга (порядка 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
Прежде чем попробовать эту программу, посетите программу JavaScript, чтобы проверить номер Армстронга.
Пример: числа Армстронга между двумя интервалами
// program to find Armstrong number between intervals // take an input const lowNumber = parseInt(prompt('Enter a positive low integer value: ')); const highNumber = parseInt(prompt('Enter a positive high integer value: ')); console.log ('Armstrong Numbers:'); // looping through lowNumber to highNumber for (let i = lowNumber; i 0) ( let remainder = temp % 10; sum += remainder ** numberOfDigits; // removing last digit from the number temp = parseInt(temp / 10); // convert float into integer ) if (sum == i) ( console.log(i); ) )
Вывод
Введите положительное младшее целое число: 8 Введите положительное высокое целое число: 500 Числа Армстронга: 8 9 153 370 371 407
В приведенной выше программе пользователю предлагается ввести два целых числа. Один - это целое число с меньшим интервалом, а другой - с большим целым числом.
parseInt()
Преобразует числовое значение строки в целочисленное значение.
for
Цикл используется для перебора двух чисел , предоставленных пользователем.
toString()
Метод используется для преобразования числа в строку. И это length
свойство используется для определения длины строки. Следовательно, в этом случае length
выдается общее количество цифр в номере.
let numberOfDigits = i.toString().length;
На первой for
итерации цикла ( i = 8 ),
- Меньшее число, введенное пользователем, сохраняется во временной переменной
temp
. while
Цикл используются для итерации числа.- Оператор модуля
%
используется для получения каждого цифрового числа. Когда число делится на 10 , остаток является последней цифрой. В первой итерации8 % 10
дает 8 . - Остаток умножается на количество цифр в этом числе (здесь 1 ) и вычисляется сумма.
- Цифра делится на 10, чтобы удалить последнюю цифру, т.е.
8 / 10
дает 0.
- Оператор модуля
- Наконец, сумма сравнивается с числом, введенным пользователем. Если сумма и число равны, отображается число Армстронга.
Цикл продолжается для всех чисел, которые находятся между нижней и верхней границами, предоставленными пользователем. В приведенном выше примере цикл выполняется от 8 до 500 .