Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def isPrime(n):
- limit = n + 1
- primes = set()
- not_primes = set()
- primes.add(2)
- for num in range(3, limit):
- # if odd and not in primes yet
- if num % 2 and num not in not_primes:
- primes.add(num)
- for p in range(num * 2, limit, num):
- not_primes.add(p)
- return iter(primes)
- def isRootPrime(n):
- root = math.sqrt(n)
- int_root = int(root)
- return isPrime(int_root)
- def exactly3Divisors(N):
- # divideConquer(4, N, lambda num: 1 if isRootPrime(num) else 0)
- count = 0
- primes = isRootPrime(N)
- for prime in primes:
- if pow(prime, 2) <= N:
- count += 1
- return count
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement