Home Games Technology Movies Retro

Monday, March 16, 2009

Project Euler

For the past couple of years I have been trying to learn a bit of computer programming by studying Java, Python and lately C.

Yesterday, while searching for a site with programming exercises I stumbled upon Project Euler. Project Euler is a site with 236 mathematical problems that you can try to solve using any programming language you want (even excel will do the trick in some cases!).

Some of the problems have a simple solution in principle but applying that solution can result in programs that need hours to compute the answer (and will probably crash before that). So you have to be creative and find an optimum solution that doesn't require brute force calculations. According to the site all problems can be solved by a well planned program in under a minute.
Once you find the correct answer you can see how other people solved the problem which is a great way to see how other people think and get inspired.

This is an excellent way to practice both your mathematical and your computer programming skills and to keep you mind working. It is also an oportunity to explore some great mathematical concepts!

So far I managed to solve 8 problems using Python and I am close to a couple more. This will keep me busy for a long time....


mastorak said...

should I be alarmed if I find this great fun?

Eraserheadx said...

Of course not! After all we ARE geeks!

One small warning though...

This site can be very addictive! For 2 days now I can think of nothing else!
You have been warned!

atrophic said...

I too am addicted. I started as a way to learn Ruby and now I'm well paste learning Ruby and completely addicted. I'm 84 problems in and not looking back ;)

I actually found your blog while trying to find problem 236, as the projecteuler.net web site appears to be down.


Eraserheadx said...

Let's just say that when I posted this I had solved 8 problems. Less than 24 hours later I'm up to 19 solved and a handfull more are within my reach.

I am hooked!