In 2001, Colin Hughes, a British Maths teacher, started to post math computation problems for people to solve. This grew into a big international community of math enthusiasts and programmers, and right now is used by some people as a method to learn or improve in a certain programming language. As it says in their web:
What is Project Euler?
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.
The problems grow in difficulty and start to require fast and improved methods for handling data structures or algorithms. I started trying to solve the problems and made my way to the 12th problem easily and I’m struggling with a couple problems. I have learnt a lot of programming and C++ since I started trying to solve this problems. You can see the sources of my solutions in my github: https://github.com/miguelbernadi/ProjectEuler . Enjoy your maths!
Additionally, this link to an article from someone who learned to enjoy programming thanks to Project Euler: How I Failed, Failed, and Finally Succeeded at Learning How to Code