Python - Primos
Ir a la navegación
Ir a la búsqueda
#!/bin/python3
from os import remove
from os.path import exists, expanduser
from sys import argv
from time import time
from math import sqrt
def compruebaPrimo(num):
esPrimo = True
#El 0 y el 1 NO son primos
if num == 0 or num == 1:
esPrimo =False
#Con llegar hasta la raíz cuadrada de num llega
for n in range(2,int(sqrt(num))+1):
# print(n)
if num%n == 0:
esPrimo = False
break
return esPrimo
inicio = time()
if len(argv) > 1:
n=int(argv[1])
else:
n=1000000
listaPrimos = []
for i in range(2,n+1):
if compruebaPrimo(i):
listaPrimos.append(i)
#Ya no es tiempo de CPU
homedir = expanduser("~")
#print(homedir)
archivo = homedir + '/primos.txt'
if exists(archivo):
remove(archivo)
fw = open(archivo,"w")
for i in listaPrimos:
fw.write(str(i)+'\n')
fw.close()
fin = time()
#print(listaPrimos)
print("Primos finalizado : " + str(fin-inicio))
exit()