Project Euler/500: Difference between revisions
From charlesreid1
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
Problem: https://projecteuler.net/problem=500 | |||
To find the smallest number with 2^n divisors: | To find the smallest number with 2^n divisors: | ||
Latest revision as of 11:12, 14 July 2017
Problem: https://projecteuler.net/problem=500
To find the smallest number with 2^n divisors:
Building a table with columns:
n, n^2, n^4, n^8, n^16, ...
Build a generator to generate these numbers dynamically.
- List of primes from sieve.
- List of queues or sub-generators, each accessing the list of primes and an internal counter
Ask the generator to populate up to MAX:
- It will generate all primes up to MAX
- It will decide the order in which to serve these up
How many primes up do we go for each column?
- If the number we are considering is above p, then we want to include p in the queue of primes that will be served up.
- If the number we are considering is above p^2, then we want to include p^2 in the queue of primes that will be served up.
- etc...
Take the first element in the primes array, square it, and if we're above that, include it