# Work on Project Euler

• Level 5, 1/6/18
• Level 4, 4/12/17

Current Compile flags: -O3 -Wall -Wextra -Wuninitialized -pedantic -Wshadow -std=c++14

# Achievements

• 12/16: Baby Steps
• 12/16: The Journey Begins
• 12/16: Decathlete
• 12/16: Easy Prey
• 1/2/17: Flawless 50
• 1/6/17: Easy As Pi
• 4/29/17: Daring Dozen
• 5/2/17: On the Ball , I saw that many people were solving this one, so I went after it. Brute force failed, but spotted something and then it was done. This was problem 601
• 6/20/17: One Percenter . This has been my most immediate goal for several months..
• 1/4/18: Decimation I .

# The Rules

1. C++, at least for now.
2. I'm not proud, I'll brute force something if I can.
• But I will do better if I know how.
3. STL - yes.
4. Algorithms library, limited yes
• If I know the algorithm, especially if I have presented it somewhere yes.
5. Learn new parts of the STL and Algorithms library.
6. Code:
• Should be within a quick fix of presentable.
7. The code needs to compute the answer, not just a list of possibilities that I pick from.
8. If I can solve it by hand, I might.

# Things I Liked

• Working on a sieve based primes object.
• Should build an infinite precision integer class.
• Adding 100 - 50 digit numbers
• I actually did a few dynamic programming problems with a dynamic programming solution
• One trick solves at least four problems.
• That nice long "your solution is correct" delay when you solve a problem.
• Problem 101. I did a prototype in pseudo octave, then tried a solution linking with octave, finally used the BOOST uBLAS library along with BOOST Multiprecision for the final answer. 2ms. Not a clever math solution, but I learned about different libraries.

# Need to revisit

• Problem number 78. Got a solution but it took too long and is not clean. I am not proud of this solution.
• Problem 66 took some time to learn the background, but then I could not produce working code to save my life. Eventually solved with a program that took 12ms.
• Problem 51 vexed me for a while, then a discovery and ...
• I semi-brute forced 70. Two minutes. Should revisit it.
• I got help from John and Doug on 162.
• Problem 160 was totally brute force, but I did learn the std::thread extension to c++14