Files
pythonprimes/hardfindprime.py
ducoterra 0a652e8f4c init
2018-08-14 00:20:31 -04:00

63 lines
1.0 KiB
Python

from addit import timeit, printit, threadit, processit
def isprime(number, primelist):
"""
checks if a number is prime by finding dividing it by every other prime
below floor(number / 2)
"""
for prime in primelist:
if prime <= number // 2 and number % prime == 0:
return False
return True
@processit
@printit
@timeit
def findprimesto(primecap):
"""
finds numprimes count of prime numbers
"""
primelist = [2]
testnum = 3
while testnum < primecap:
if isprime(testnum, primelist):
primelist.append(testnum)
testnum += 2
return primelist
@processit
@printit
@timeit
def findxprimes(x):
"""
finds numprimes count of prime numbers
"""
primelist = [2]
testnum = 3
while len(primelist) < x:
if isprime(testnum, primelist):
primelist.append(testnum)
testnum += 2
return primelist
@timeit
def runner():
findxprimes(10000)
findxprimes(10000)
runner()
findprimesto(1000)
findprimesto(1000)