Project Euler is a project by volunteers which has an archive of tons of math related problems for coders to practise, ranging from easy to hard level. Coders, once signed in are given a big archive of problems to choose from and depending on there skills they can start with any problem. The problems are generally math related involving concepts of math which can take a long time to solve by hand, and so the coders are suppossed to write a program in whichever programming language they are comfortable wtih to solve the problem. Once, answer is found they can enter the result on the problem’s page and verify the result. The problems are designed to so a well written problem should not take longer then a minute on even the low powered machines to get the results, so if your program is taking longer then this clearly means that there is room for optimization. Once, you get the result, you get access to that specific problem’s thread, where you can post your code or check other people’s code to compare and learn. You can also discuss the results with others over there.
Note: The problems listed here are those which I’ve solved myself, if you’ve not solved problem on your own, then I recommend to first give a proper try before looking at my solution.