www.topcoder.com is one I've used.
Project Euler is the place to go--lots of mathematical problems that have interesting computational solutions.
This question should provide you with a nigh-infinite supply of fun problems.
I also recommend hiring puzzles, such as those from Facebook and ITA.
Google CodeJam - There you can find tasks from previous contests
Spoj.Pl - have a lot of ongoing contests and tons of problems
http://www.claymath.org/millennium/P_vs_NP/ (they even pay you for solving it). More of them here: http://www.claymath.org/millennium/
I have the USSR Olympiad Problem Book. It is supposed to be solved by brain power (not computer power), but I have found some problems extremely fun to program after I've solved them using pencil and paper.
Many have worked the "Hanoi Tower" problem both in paper and computer, the book I recommend has more similar examples!
Beware: I'm not saying this is a computer related book, I'm just stating that some problems explained therein are fun to program as well.
Cheers,
J.