Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. import math
  2.  
  3.  
  4. def isPrime(n):
  5. limit = n + 1
  6. primes = set()
  7. not_primes = set()
  8. primes.add(2)
  9. for num in range(3, limit):
  10. # if odd and not in primes yet
  11. if num % 2 and num not in not_primes:
  12. primes.add(num)
  13. for p in range(num * 2, limit, num):
  14. not_primes.add(p)
  15. return iter(primes)
  16.  
  17. def isRootPrime(n):
  18. root = math.sqrt(n)
  19. int_root = int(root)
  20. return isPrime(int_root)
  21.  
  22. def exactly3Divisors(N):
  23. # divideConquer(4, N, lambda num: 1 if isRootPrime(num) else 0)
  24. count = 0
  25. primes = isRootPrime(N)
  26. for prime in primes:
  27. if pow(prime, 2) <= N:
  28. count += 1
  29. return count
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement