- 310,317 hits
Programming Enigma Puzzles
I’ve been writing programs to solve the puzzles for a few years now, originally in Perl and more recently in Python, as a way to have a weekly programming challenge. Some of my Python programs use useful routines from my enigma.py library.
The purpose of the challenge (for me) is not necessarily to produce the shortest possible program, or the fastest executing, but to produce a nice readable solution that can been seen to be right by looking at it, and executes in a reasonable time (usually less than 10 seconds, but essentially shorter than it would take to write (and debug) a more complicated solution). I usually try to write a program that produces a constructive solution and verifies all the conditions stated in the puzzle. And if the program can be used to solve a class of similar puzzles (or easily modified to do this) then that’s even better.
Enigma puzzles ran in New Scientist magazine from February 1979 up to December 2013, I add puzzles to the site typically every Monday and Friday, alternating the oldest unpublished puzzle with the newest unpublished puzzle.
The easiest way to keep track of puzzles is to subscribe to the RSS feed for the site, or to sign up for email notifications, but I also post announcements of the puzzles to the Facebook Enigmatic Code page as they are made available on the site.
If you use the site as a source of puzzles please include a link back to the puzzle on this site.
Feel free to join in, either by leaving a comment (with a program if you like), or by rating puzzles or just “liking” them. If you want to leave a general comment about the site, please do so below. Any kind of feedback is useful in encouraging me to keep the site going!
Jim RandellFollow @jim_randell