Not really answering the question, but for quick fixes;
A friend of mine recently implemented an Enigma machine (i.e. for coding WWII messages - http://en.wikipedia.org/wiki/Enigma_machine) which he enjoyed and said was a great challenge.
Alternatively I've recently done Spotify's coding puzzles (http://www.spotify.com/us/jobs/tech/) - who knows, you could even get a job out of it!
I did one of Spotify's or Facebook's coding puzzles a while back, using 4 languages in the same source file and obfuscated my contact info in the response.
If their recruitment team isn't up to the task, I don't want to work there. :)
If their recruitment team isn't up to the task, I don't want to work there. :)
However, it was a fun exercise.