fork download
  1. import time
  2.  
  3. # Función para generar números primos usando la Criba de Eratóstenes
  4. def sieve_of_eratosthenes(n):
  5. is_prime = [True] * (n + 1)
  6. is_prime[0] = is_prime[1] = False # 0 y 1 no son primos
  7.  
  8. for i in range(2, int(n**0.5) + 1):
  9. if is_prime[i]:
  10. for j in range(i * i, n + 1, i):
  11. is_prime[j] = False
  12.  
  13. primes = [i for i in range(n + 1) if is_prime[i]]
  14. return primes
  15.  
  16. # Límite superior
  17. n = 10000000 # Cambia este valor para ajustar el límite superior
  18.  
  19. # Medir el tiempo de ejecución
  20. start_time = time.time()
  21. primes = sieve_of_eratosthenes(n)
  22. end_time = time.time()
  23.  
  24. # Solo imprime los primeros 10 primos
  25. print("Primeros 10 primos: {}".format(primes[:10]))
  26. print("Total de primos encontrados: {}".format(len(primes)))
  27. print("Tiempo de ejecución: {:.6f} segundos".format(end_time - start_time))
  28.  
Success #stdin #stdout 2.5s 408820KB
stdin
Standard input is empty
stdout
Primeros 10 primos: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Total de primos encontrados: 664579
Tiempo de ejecución: 2.325733 segundos