"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como você pode determinar com eficiência se um número é primo em JavaScript?

Como você pode determinar com eficiência se um número é primo em JavaScript?

Publicado em 2024-11-08
Navegar:272

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

Verificação eficiente de números primos em JavaScript

Na programação de computadores, determinar se um determinado número é primo é uma tarefa fundamental. Um número primo é um número inteiro positivo maior que 1 que não possui divisores positivos além de 1 e ele mesmo.

Uma abordagem popular para verificar a primalidade envolve a peneira de Eratóstenes. No entanto, por questões de desempenho, um método mais eficiente pode ser empregado, conforme demonstrado na seguinte implementação de JavaScript:

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

for (let i = 2; i 

Análise de complexidade de tempo e espaço

O tempo a complexidade do algoritmo acima é O(sqrt(n)), onde n representa o valor de entrada. Isso ocorre porque o loop itera por todos os números inteiros até a raiz quadrada do número de entrada, o que é uma otimização significativa na verificação de todos os números inteiros até n.

A complexidade do espaço é O(1), pois não requer nenhuma estrutura de dados adicional além das variáveis ​​primitivas.

Abordagem Alternativa

Uma sintaxe alternativa para verificar a primalidade em JavaScript é:

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

Esta abordagem atinge a mesma complexidade de tempo e espaço que a anterior, ao mesmo tempo que utiliza uma sintaxe de função de seta mais concisa.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3