Project Euler
"Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve." - http://projecteuler.net/
Wikipedia article on Project Euler
If you create an account it will check your answers and track your successes. Also once you enter a correct answer you can see the other answers, compare them with yours, and learn interesting other approaches to the problem.

