Project Euler

Keith Vetter 2008-01-25

What is Project Euler?

To quote the web page:

Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve.

The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.

Project Euler is a set of 170+ programming challenges. The problems range in difficulty from very easy to devilishly difficult. Some problems require advanced programming techniques, such as dynamic programming or Dijkstra's algorithm (Lars H: I can't help wondering: How are those advanced programming techniques? ;-), while others require a brute-force approach. Some problems are simple to understand while others will send you digging into Wikipedia for some number theory help.

But for those who love programming and learning new concepts, these problems form a really fun spectrum of entertaining challenges. For example, I think it's really cool, and easy, how to turn any square root into a continued fraction, or how to factor into Gaussian integers.

How does this tie into Tcl?

First off, tcl 8.5 with its infinite precision integers is a real big help. Many problems become much easier with them, such as summing the square root of every integer from 1 to 100 out to 100 digits.

Second, many of the Wiki pages are really helpful. For example, I used the code from Playing with Rationals to work out the continued fraction of e.

Third, of the 17,000+ users who have submitted answers, 23 claim Tcl as their primary programming language. I've spotted a few familiar names in the forums discussing the problems.