Блог
Привет, друг программист! Сегодня я собираюсь показать вам несколько изящных методов поиска кратных чисел с помощью JavaScript. Мы рассмотрим различные подходы к решению классической задачи поиска чисел, делящихся на 3 или 5. Итак, наденьте шляпу программиста и приступим!
Метод 1: танец с зацикливанием
Давайте начнем с простого цикла for. Мы инициализируем переменную с именем sumaзначением 0, затем перебираем числа от 3 до 999 (поскольку нам нужны числа меньше 1000). Для каждого числа мы проверяем, делится ли оно на 3 или 5, используя функцию Number.isInteger(). Если да, мы добавляем его в suma.
let suma = 0;
for (let i = 3; i < 1000; i++) {
if (Number.isInteger(i / 3) || Number.isInteger(i / 5)) {
suma += i;
}
}
Метод 2: канавка по модулю
Другой способ решить эту проблему — использовать оператор по модулю (%). Мы можем проверить, делится ли число на 3 или 5, проверив, равен ли остаток от деления 0. Если да, мы добавляем число к suma.
let suma = 0;
for (let i = 3; i < 1000; i++) {
if (i % 3 === 0 || i % 5 === 0) {
suma += i;
}
}
Метод 3: Застревание массива
Давайте оживим ситуацию с помощью решения на основе массива. Мы создаем пустой массив с именем multiples, а затем используем метод push()для добавления в него чисел, делящихся на 3 или 5. Наконец, мы вычисляем сумму всех элементов массива multiples, используя метод reduce().
let multiples = [];
for (let i = 3; i < 1000; i++) {
if (i % 3 === 0 || i % 5 === 0) {
multiples.push(i);
}
}
let suma = multiples.reduce((acc, curr) => acc + curr, 0);
Метод 4. Математическая канавка
Если вы поклонник математических трюков, вот умное однострочное решение, использующее арифметическую прогрессию. Мы находим сумму всех чисел, делящихся на 3, сумму всех чисел, делящихся на 5, и вычитаем сумму чисел, делящихся как на 3, так и на 5, чтобы избежать подсчета дубликатов.
let n = 999;
let sumDivisibleBy3 = (3 * Math.floor(n / 3) * (Math.floor(n / 3) + 1)) / 2;
let sumDivisibleBy5 = (5 * Math.floor(n / 5) * (Math.floor(n / 5) + 1)) / 2;
let sumDivisibleByBoth = (15 * Math.floor(n / 15) * (Math.floor(n / 15) + 1)) / 2;
let suma = sumDivisibleBy3 + sumDivisibleBy5 - sumDivisibleByBoth;
Итак, у вас есть четыре разных метода поиска чисел, кратных 3 или 5, в JavaScript. Вы можете выбрать тот метод, который соответствует вашему стилю кодирования или потребностям оптимизации.
Помните, программирование похоже на танец, а поиск умных решений — это хореография, обеспечивающая оптимальную работу вашего кода. Приятного кодирования!
Вот и все, что касается этой статьи. Надеюсь, эти методы оказались для вас полезными. Оставайтесь с нами, чтобы узнать больше советов и рекомендаций по программированию!