Saltar al contenido

Los primos hasta n

Enunciado

Un número primo solo se puede dividir entre 1 y entre él mismo. El 1 no cuenta como primo: el primero es el 2.

Escribe una función que reciba un número n y regrese la lista de los primos desde 2 hasta n, de menor a mayor. Si n es primo, también entra. Con n menor que 2 no hay ninguno, así que regresas una lista vacía.

Un truco viejo para hacerlo sin dividir tanto: escribe todos los números del 2 al n y ve tachando los múltiplos de cada primo que encuentres. Lo que queda sin tachar es la respuesta.

Ejemplos

  • Nada antes del 2

    1 → []

  • El primer primo

    2 → [2]

  • Hasta 10

    10 → [2, 3, 5, 7]

  • n es primo

    13 → [2, 3, 5, 7, 11, 13]

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def primos_hasta(n):
    pass

JavaScript

function primosHasta(n) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n log n)

Ver todos los retos →