The first rule of Project Euler is you don’t talk about Project Euler. Ha, ha! just kidding.
I haven’t been blogging much lately. My apologies. I’ve found a great new hobby, which has occupied most of my time. I’ve been solving problems on Project Euler. Here is a link to my profile there. Tonight, I just solved my 106th problem, of 222.
“Project Euler exists to encourage, challenge, and develop the skills and enjoyment of anyone with an interest in the fascinating world of mathematics.”
These problems are very interesting and seem tailor-made to someone of my interests. My major in college was computer science, with a concentration in mathematics. Actually for Project Euler, a major in math and some comp sci work would probably serve a would-be solver somewhat better.
Most of the problems require some type of computer program. You’re usually searching for a number with a peculiar property, or adding a bunch of numbers with a similar property. Many involve prime numbers, which can really stretch a programmer’s technique. Some are quite unique. One asks you to evaluate a bunch of poker hands played by two players, asking how many times the first player wins. Another asks you to programmatically solve a bunch of sudoku puzzles. One even asks which squares on the monopoly board game are the most popular, statistically.
A new problem has been posted every week since I joined. I hope they keep this up. I could be solving these problems for quite a while. My progress was very quick (several solutions per day) at the beginning. A couple of weeks ago I had slowed to one solution per day. Now I have to think about a problem for a day or two before a good solution occurs to me. I have quite a few I’m thinking about now.
What makes the site so great is that the problems build upon each other. Knowing how to solve an earlier problem will help solve a later problem. Efficiency is king, so if your solution takes a few seconds, perhaps the forum for the problem will have a faster algorithm. This is where the real learning takes place. Some times I’ll wait a few seconds, or even a few minutes for my program to run, only to find that a technique I hadn’t considered gets the answer in a few milliseconds.
Last week I was proud to have solved my 100th problem, which is somewhat of an achievement. Of all the users that have signed up at project euler, I’m within the top 3%. My preferred language is python. Which is good, because while it is one of the most popular languages on Project Euler, it is also one of the most successful. Soon I’ll write a blog entry about how much I love python. I just started learning it a few weeks before I started Project Euler.
Users are allowed to submit problem suggestions. I just sent my first one. I hope it will be approved, but I understand the approval process is quite long.




