«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как можно эффективно определить, является ли число простым в JavaScript?

Как можно эффективно определить, является ли число простым в JavaScript?

Опубликовано 8 ноября 2024 г.
Просматривать:828

How can you efficiently determine if a number is prime in JavaScript?

Эффективная проверка простых чисел в JavaScript

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

Популярный подход к проверке простоты включает в себя решето Эратосфена. Однако из соображений производительности можно использовать более эффективный метод, как показано в следующей реализации JavaScript:

let inputValue = 7;
let isPrime = inputValue == 1 ? false : true;  // Because 1 is not prime

for (let i = 2; i 

Анализ временной и пространственной сложности

Время сложность приведенного выше алгоритма равна O(sqrt(n)), где n представляет входное значение. Это связано с тем, что цикл перебирает все целые числа до квадратного корня из входного числа, что является значительной оптимизацией при проверке всех целых чисел до n.

Пространственная сложность равна O(1), поскольку он не требует каких-либо дополнительных структур данных, кроме примитивных переменных.

Альтернативный подход

Альтернативный синтаксис для проверки простоты в JavaScript:

const isPrime = num => {
    for (let i = 2, s = Math.sqrt(num); i  1;
}

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3