Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_primes(limit):#sieve of Eratosthenes
- primes = []#this will hold the primes
- bools = [True for i in range(2, limit + 1)]
- nums = range(2, limit + 1)
- for i in range(2, (int(limit**0.5)) + 1):
- if bools[i]:
- j = i**2
- while j <= limit:
- bools[j-2] = False
- j += i
- for i in range(len(bools)):
- if bools[i] and nums[i]**0.5 != int(nums[i]**0.5):
- primes.append(nums[i])
- return primes
- def prime_fac(num, unique=False):#get unique prime factors
- prime_divs = []
- primes = get_primes(num)
- for prime in primes:
- while num % prime == 0:
- prime_divs.append(prime)
- num /= prime
- if unique:
- return set(prime_divs)
- return prime_divs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement