"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo se puede determinar de manera eficiente si un número es primo en JavaScript?

¿Cómo se puede determinar de manera eficiente si un número es primo en JavaScript?

Publicado el 2024-11-08
Navegar:557

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

Verificación eficiente de números primos en JavaScript

En programación informática, determinar si un número determinado es primo es una tarea fundamental. Un número primo es un entero positivo mayor que 1 que no tiene divisores positivos distintos de 1 y él mismo.

Un método popular para comprobar la primalidad implica el tamiz de Eratóstenes. Sin embargo, por consideraciones de rendimiento, se puede emplear un método más eficiente, como se demuestra en la siguiente implementación de JavaScript:

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

for (let i = 2; i 

Análisis de la complejidad del tiempo y el espacio

El tiempo La complejidad del algoritmo anterior es O(sqrt(n)), donde n representa el valor de entrada. Esto se debe a que el bucle recorre todos los números enteros hasta la raíz cuadrada del número de entrada, lo cual es una optimización significativa con respecto a la verificación de todos los números enteros hasta n.

La complejidad del espacio es O(1), ya que no requiere estructuras de datos adicionales más allá de las variables primitivas.

Enfoque alternativo

Una sintaxis alternativa para verificar la primalidad en JavaScript es:

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

Este enfoque logra la misma complejidad temporal y espacial que el anterior y al mismo tiempo utiliza una sintaxis de función de flecha más concisa.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3