Thursday, July 31, 2014

0 - Introduction

About this Blog:

Recently I found out that Project Euler had been hacked.  While I found it terribly ironic that makers of a site dedicated to practicing programming skills fell victim to black-hat attack, the news of the outage also rekindled my interest in Project Euler.  I have played around with Project Euler on and off over the past three years, starting when I was just learning Python. Now that I am older, and know a thing or two more about programming, I want to try again.

So, I started doing the problems again, and on each new algorithm I wrote I found my comments getting longer and longer.  I pretty quickly realized that I had a lot to write about, and there might be other people interested in what I have to say.

I have always said that math is my first love, and math is largely what Project Euler is about.  Many of the problems can be solved using easy, brute force code style, but they might take minutes, if not longer to complete.  More often there is a little math trick which will create a short cut and let you solve the problem in an efficient manner.

Each blog post will contain the problem, the setup, and my code I used to solve the problem.  I will avoid explicitly stating the answer to the problem, because that defeats the purpose for those of you who haven't done PE.  I would also like to go into the theory, share anecdotes and derivations of formulae.  Actually, this section will most likely be the meat of the post, and what I will spend most of my time writing.  In the end, I want this blog will be less about the problems themselves than it is about the theory behind the problems.

About Project Euler:

Project Euler is a site for people who love to solve puzzles.  The puzzles range in difficulty from pretty gosh darn easy to graduate level mathematics.  Often times the problems will deal with special sequences of numbers, number theory, combinatorics, and linear algebra.  The problems are designed with a 1-minute rule.  That is, each solution should take less than one minute to complete.

The Project is named after one of the most prolific, and in my opinion, the greatest mathematician of all time, Leonhard Euler (Pronounced Oiler ).

According to Wikipedia, Project Euler was started in 2001 by Colin Hughs, since then the website has "gained notability and popularity worldwide."  On June 15th PE was temporarly shut down due to a security breach.  Shortly thereafter the site restarted in a stripped down state, as a read only website.

The Project Euler website is now back online in a limited fashion.  You can go there and look at the problems, and verify answers.  But there are no longer any badges and you can't keep any saved progress.  The owners of the website have said they plan on bringing the site back up to its full capacity soon though, just as soon as they work out the security issues.


About Me:

My name is Joseph Moore. I'm currently an undergraduate Computer Engineering major attending Northeastern University, and I have a passion for mathematics and computer science.  Years ago, I started programming with Python and have really grown to love the language and I am currently learning C.

My hobbies include running, reading, history, video games, especially Minecraft and Europa Universalis IV.  I'm currently working with a startup company based in Rochester as a summer intern.


Languages Used:

Pure Math:  In every area that is reasonable I will include a pure calculation, that is non-program assisted solution.  Some of the answers really are that easy to find, but not that many.

Python 3.4:  Keeping up to date with the latest version of python.  Code I may showcase from others might be based off of Python 2.x.  If it is too different from the counterpart in Python 3.x, I will provide an addition example.

C:  The lingua franca of the Linux/Unix community.  I'm still learning, so I don't know too much about it but feel free to point out how I could write it better.

No comments:

Post a Comment