A friend of mine recently pointed me to a very cool (read: geeky) site called Project Euler. It’s basically a site for the subset of us programmers who enjoy solving mathematical problems (or vice versa…in the case of those true mathematicians are also spelunkers of bytes). But it’s really more than that too. Most of the problems one would be hard pressed to solve using anything but the raw processing power of computers.
The interesting angle each problem takes is that it builds, for the most part, upon the previous problems, introducing ever more complex mathematical formulae and concepts. Even more impressive is the assertion by the site’s founders that each problem issued can theoretically be solved by a computer program running on a standard PC in in under 1 minute! So while the temptation might be there to give up on an elegant solution and brute force it using naive methods (which certainly is possible in some cases), one cannot in good conscience type in that “correct” answer knowing that your program took 30 minutes running at 100% CPU…haha!
Anyway, in keeping with the practice of the site, I will not be posting my solutions publicly to each problem as I complete it. I will simply post notices of my progress here as time permits. If anyone is interested in my solutions to compare algorithms, etc….feel free to contact me via the site with the problem # and the correct answer (which you must get yourself!) and I’ll be happy to compare notes.
Status so far? I just finished Problem 12.