Advertisement
mateon1

Prime number finder V2 (Fix for Python 3)

May 12th, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.96 KB | None | 0 0
  1. import time
  2.  
  3. stop=1000000000
  4. primes=[]
  5. count=0
  6. save=1
  7. toGen=10
  8. range=xrange
  9.  
  10. def primeGenerator():
  11.     if stop>=2:yield 2
  12.     if stop>2: yield 3
  13.     for i in range(5,stop,2):
  14.         for o in range(3,int(i**0.5+1),2):
  15.             if not i%o:
  16.                 break
  17.         else:
  18.             yield i
  19.         continue
  20.  
  21. print("Use a negative number to use hardcoded defaults")
  22. stop=input("What number to stop at? (Default: 1 000 000 000):")
  23. tmrs=time.time()
  24. if stop<0:
  25.     stop=1000000000
  26. for p in primeGenerator():
  27.     print("Found a prime: "+str(p)+"; "+time.ctime(time.time()))
  28.     if save:
  29.         primes.append(p)
  30.         if len(primes)==toGen:
  31.             break
  32.     else:
  33.         count+=1
  34.         if count==toGen:
  35.             break
  36. print "Finished! Took %.2f to finish."%(time.time()-tmrs)
  37. if save:print("Total of "+str(len(primes))+" primes found.")
  38. else:print("Total of "+str(count)+" primes found.")
  39. raw_input("Press enter to continue...")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement