Hacking Secret Ciphers with Python

(Ann) #1

364 http://inventwithpython.com/hacking


Email questions to the author: [email protected]




  1. Returns True if num is a prime number, otherwise False.






  2. Note: Generally, isPrime() is slower than primeSieve().






  3. all numbers less than 2 are not prime



  4. if num < 2:

  5. return False




  6. see if num is divisible by any number up to the square root of num



  7. for i in range(2, int(math.sqrt(num)) + 1):

  8. if num % i == 0:

  9. return False

  10. return True





  11. def primeSieve(sieveSize):


  12. Returns a list of prime numbers calculated using




  13. the Sieve of Eratosthenes algorithm.





  14. sieve = [True] * sieveSize

  15. sieve[0] = False # zero and one are not prime numbers

  16. sieve[1] = False
    3 0.


  17. create the sieve



  18. for i in range(2, int(math.sqrt(sieveSize)) + 1):

  19. pointer = i * 2

  20. while pointer < sieveSize:

  21. sieve[pointer] = False

  22. pointer += i




  23. compile the list of primes



  24. primes = []

  25. for i in range(sieveSize):

  26. if sieve[i] == True:

  27. primes.append(i)



  28. return primes


How the Program Works..........................................................................................................................................


primeSieve.py



  1. Prime Number Sieve




  2. http://inventwithpython.com/hacking (BSD Licensed)





  3. import math

Free download pdf