import time
# Función para generar números primos usando la Criba de Eratóstenes
def sieve_of_eratosthenes(n):
is_prime = [True] * (n + 1)
is_prime[0] = is_prime[1] = False # 0 y 1 no son primos
for i in range(2, int(n**0.5) + 1):
if is_prime[i]:
for j in range(i * i, n + 1, i):
is_prime[j] = False
primes = [i for i in range(n + 1) if is_prime[i]]
return primes
# Límite superior
n = 1000 # Cambia este valor para ajustar el límite superior
# Medir el tiempo de ejecución
start_time = time.time()
primes = sieve_of_eratosthenes(n)
end_time = time.time()
# Solo imprime los primeros 10 primos
print("Primeros 10 primos: {}".format(primes[:10]))
print("Total de primos encontrados: {}".format(len(primes)))
print("Tiempo de ejecución: {:.6f} segundos".format(end_time - start_time))
aW1wb3J0IHRpbWUKCiMgRnVuY2nDs24gcGFyYSBnZW5lcmFyIG7Dum1lcm9zIHByaW1vcyB1c2FuZG8gbGEgQ3JpYmEgZGUgRXJhdMOzc3RlbmVzCmRlZiBzaWV2ZV9vZl9lcmF0b3N0aGVuZXMobik6CiAgICBpc19wcmltZSA9IFtUcnVlXSAqIChuICsgMSkKICAgIGlzX3ByaW1lWzBdID0gaXNfcHJpbWVbMV0gPSBGYWxzZSAgIyAwIHkgMSBubyBzb24gcHJpbW9zCgogICAgZm9yIGkgaW4gcmFuZ2UoMiwgaW50KG4qKjAuNSkgKyAxKToKICAgICAgICBpZiBpc19wcmltZVtpXToKICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2UoaSAqIGksIG4gKyAxLCBpKToKICAgICAgICAgICAgICAgIGlzX3ByaW1lW2pdID0gRmFsc2UKCiAgICBwcmltZXMgPSBbaSBmb3IgaSBpbiByYW5nZShuICsgMSkgaWYgaXNfcHJpbWVbaV1dCiAgICByZXR1cm4gcHJpbWVzCgojIEzDrW1pdGUgc3VwZXJpb3IKbiA9IDEwMDAgICMgQ2FtYmlhIGVzdGUgdmFsb3IgcGFyYSBhanVzdGFyIGVsIGzDrW1pdGUgc3VwZXJpb3IKCiMgTWVkaXIgZWwgdGllbXBvIGRlIGVqZWN1Y2nDs24Kc3RhcnRfdGltZSA9IHRpbWUudGltZSgpCnByaW1lcyA9IHNpZXZlX29mX2VyYXRvc3RoZW5lcyhuKQplbmRfdGltZSA9IHRpbWUudGltZSgpCgojIFNvbG8gaW1wcmltZSBsb3MgcHJpbWVyb3MgMTAgcHJpbW9zCnByaW50KCJQcmltZXJvcyAxMCBwcmltb3M6IHt9Ii5mb3JtYXQocHJpbWVzWzoxMF0pKQpwcmludCgiVG90YWwgZGUgcHJpbW9zIGVuY29udHJhZG9zOiB7fSIuZm9ybWF0KGxlbihwcmltZXMpKSkKcHJpbnQoIlRpZW1wbyBkZSBlamVjdWNpw7NuOiB7Oi42Zn0gc2VndW5kb3MiLmZvcm1hdChlbmRfdGltZSAtIHN0YXJ0X3RpbWUpKQo=
Primeros 10 primos: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Total de primos encontrados: 168
Tiempo de ejecución: 0.000114 segundos