Project Euler

May 10, 2016

After doing some interviews I just realized I have much to learn in the algorithms field. I failed a couple of tests miserably and I decided it's time to improve my algorithm skills.

I opened an account in the Project Euler website a few years ago but I completed only the first five tests and gave up. For those who doesn't know what it is, it is basically a lot of mathematical/computer challenges that require more than just mathematical insights to solve. Anyway, a friend of mine told me at the time he was going to do all the tests he could but I thought it wasn't cool enough to try it too. Silly me. Now I'm gonna do all I can using the simplest tools possible: a simple programing language, a simple editor, a simple compiler and my simple and stupid brain and hands.

As I'm doing this just to improve my algorithm skills, I think it isn't fair to use a programing language which does most of the problems just by using its basic features. For the sake of an example, the first language I can think of is Python. If you need to calculate the factor of one hundred it has big integer builtin. If you need to calculate week days it has calendars builtin. If you need anything else it probably have more than what you need. Builtin too.

So, I decided I'm going to do this using C++ and GCC. And, because I don't use it too much yet, I'm going to use C++11 for now. I think C++ is a great choice because sometimes object orientation helps a lot when solving some kind of problems and the language doesn't keep you away from the computing problems. I know I'm gonna have a hard time handling thinks like big numbers but this is what I want: to code complex algorithms and improve my skills.

I'm going to try to post at least once a month about my progress. I think this is going to be a fun adventure and will release some of the source code under an open source license. I cannot promess I'm going to release everything but it is just because I can't release the answers.

Anyway, stay tuned for updates.


Profile picture

Written by Fernando Silveira, a developer who sometimes breaks production.

© 2016-2024 - Fernando Silveira