countdown
This project came about as a programming challenge to build some software to identify solutions to the "Countdown" numbers game as quickly as possible.
The idea of the game is to take 6 randonly chosen numbers from a set of 24 available numbers (1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 25, 50, 75, 100) and find a way to get to a larger random number in the range of 101 to 999, using only simple addition, subtraction, multiplication, and division.
I wrote this one in C++ and spent a few hours coming up with ways to shrink the problem search space. It's pretty quick but I never attempted to tune it to the instruction level!
Source code
The source code can be found on GitHub: https://github.com/dave-hudson/countdown