Project Euler Common Lisp Helper Functions

Project Euler is a site that has math problems that can be solved with the assistance of a computer program (solving the problems without programming would take an unreasonable amount of time). The problems are fun and they are a good way to learn a programming language and some interesting math.

A few years ago I solved the first 77 problems using Common Lisp.

I intend to eventually continue solving more, maybe switching from Lisp to Matlab, Mathematica, or some other language.

The site requests that users do not share solutions, which I have no intention of doing. However, I did accumulate some helper functions that I wrote while solving the problems, and I think they could be helpful for people getting started on Project Euler using Common Lisp.


Also, check out Solving Project Euler Problems for some additional ideas.


5/19/2011 Quote of the Day

I am going to start posting quotes that I like to my blog. I have been recording quotes that I like for a few years. I will continue to update my list, and use it as a source for quotes to post. A great source for quotes is Bartlett’s Familiar Quotations.

Today’s quote is from Doron Zeilberger.

Whenever I want to learn a new subject, I announce a graduate course in it, since the best way to learn is by teaching. But even better than teaching humans is teaching computers, i.e. program! Since computers will not let you wave your hands and wing it.

Opinion 37 [April 15, 1999]

Also from the same source is the following quote.

In order to understand something really deeply, you should program it.

Opinion 37 [April 15, 1999]

I have never taught a course, so I cannot fully relate to his experience of learning by teaching. However, my unfamiliarity with teaching is one of the reasons that I think that programming is a great way to learn something. While teaching a course requires students, a classroom, a lesson plan, and other constraints, “teaching computers” only requires a computer and a programming language.