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; iAná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.
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