minerbot/sieve.py

20 lines
481 B
Python

def primes(n):
if n<=2:
return []
sieve=[True]*(n+1)
for x in range(3,int(n**0.5)+1,2):
for y in range(3,(n//x)+1,2):
sieve[(x*y)]=False
return [2]+[i for i in range(3,n,2) if sieve[i]]
def primefactors(n):
primelist = primes(100)
lpf = 2
for prime in primelist:
print "Checking prime: "+str(prime)
if n%prime == 0 and prime > lpf:
print "Better prime found: "+str(prime)
lpf = prime
return "{!s},{!s}".format(lpf,n/lpf)