From charlesreid1

No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
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:


Line 6: Line 8:


Build a generator to generate these numbers dynamically.
Build a generator to generate these numbers dynamically.
* Wait... what we're building is... uh... the integers in order.
* List of primes from sieve.
 
* List of queues or sub-generators, each accessing the list of primes and an internal counter
List of primes - that's the first column.


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?
How many primes up do we go for each column?

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