These are all scripts which solve Euler Puzzles, published at http://projecteuler.net/. My user name is Smilius (same as this git), and I've currently solved 75 of the puzzles.
I've been working on them for roughly two years now: the Euler puzzles were the first recreation programming I did, and still make up the bulk of my non-school related programming. Its also my primary source of recreational math.
This repository is a work in progress, and is intended to do a few things:
- Document my progress in programming and algorithms.
- Teach me how to use git and verson control.
- Teach me how to use the vim editor, which I'm using right now.
I'm sure I'll come up with more objectives as I think about this.
-
Many of these programs were written when I was just beginning programming and don't reflect my current abilities. I'm going to rewrite them and pretty them up. I don't know when most of these scripts were written, either.
-
Just because there isn't a solution in the repo doesn't mean I haven't solved it. Some of these problems were solved from the interpreter interface. I'll be adding solutions to solved problems periodically. A newly added program doesn't mean that it's a new solution.
-
Not all of the files here are complete. Some are just code fragments that I used on the command line when I was playing with the problem. Some are attempts that failed. Some are just broken. Very few indeed are commented -- which is a shame, since half the fun is that math required to get a solution. I'll fix all that progressively.
-
There are a bunch of helper functions strewn about in different files. My current preferred utility library is 'isprime.py'. I'll be eliminating these files as I come across them.
-
The repo itself is pretty messsy, since I just created it and am still getting the hang of git.
-
I've made sure to document code that's not mine. Mostly to keep from getting a false sense of superiority.
Somewhat arbitrarily:
euler56.py: I think this was the frist oneliner I wrote, back when I discovered list comprehension. I love a good one liner.
euler75.py: My algorithm for finding right triangles with a given perimeter is efficient, and the math is neat.
euler82.py: Shortest path from one side of a matrix to the other. I like this one mostly because I came puzzled out the algorithm without doing any research, just wrote it out in a bar one night.