Программа JavaScript для поиска всех делителей числа

Создайте веб-приложение с помощью современного JavaScript и веб-компонентов Программирование и разработка

В этой статье мы продемонстрируем различные подходы к написанию программы JavaScript для поиска всех делителей числа. У нас будет входное число, и мы напечатаем все делители этого числа в виде результирующего массива.

Методы поиска всех делителей числа

  • Наивный подход
  • Рекурсивный подход

Метод 1: Наивный подход

В этом методе мы будем использовать цикл JavaScript для перебора возможных коэффициентов и метод Math.pow() для получения квадратного корня из числа. Вместо метода Math.pow() мы также можем использовать Math.sqrt() или условие i*i < n.

Пример:

Javascript

function prime(n) {
    let result = [1,n];
    for (let i = 2; i < Math.pow(n, 0.5); i++) {
        if (n % i == 0) {
            result.push(i);
            result.push(n / i);
        }
    }
    return result.sort((a, b) => a - b);
}
 
const num = 90;
console.log("Prime factors of "
    num + ": " + prime(num));

Выход

Prime factors of 90: 1,2,3,5,6,9,10,15,18,30,45,90

Метод 2: Рекурсивный подход

В этом методе мы будем рекурсивно вызывать функцию и возвращать выходные данные с помощью оператора расширения, чтобы получить выходные данные массива.

Пример:

Javascript

function recursiveFactor(n, d) {
    if (n < 1) return [];    
    if (n == 1) return [1];
    if (n == 2) return [1,2];
    if(n/d<2)
    return [n];
    if (n % d == 0) return [d, ...recursiveFactor(n, d + 1)];
    return recursiveFactor(n, d + 1);
}
 
const num = 85;
console.log(
    "All factors of " +
        num + ": " +
        recursiveFactor(num, 1)
);

Выход

All factors of 85: 1,5,17,85

Читайте также:  Реализация хеш-таблицы в Python с использованием отдельной цепочки
Оцените статью
bestprogrammer.ru
Добавить комментарий