Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def generate_primes(start, end):
- primes = []
- for i in range(start, end):
- for j in range(2, i):
- if i % j == 0:
- break
- else:
- primes.append(i)
- return primes
- def prime_factorization_with_help(x, primes, prime_factorization):
- prime_factorization = prime_factorization or {}
- for n in primes:
- if not x % n:
- prime_factorization[n] = prime_factorization.get(n, 0) + 1
- prime_factorization_with_help(x/n, primes, prime_factorization)
- break
- return prime_factorization
- def number_of_factors_with_help(prime_factorization):
- answer = 1
- for prime, power in prime_factorization.items():
- answer *= power+1
- return answer
- def better_composite_count(limit):
- answer = []
- primes = generate_primes(2, limit//2)
- most_divisors = 0
- for x in range(limit):
- _ = number_of_factors_with_help(prime_factorization_with_help(x+1, primes, []))
- if _ > most_divisors:
- most_divisors = _
- answer.append(x+1)
- return answer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement