Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Efficiency etc...

Name: Anonymous 2008-12-18 16:29

So, I find myself solving the Project Euler problems and I come across http://projecteuler.net/index.php?section=problems&id=220
I've got a working solution, but I was wondering how I could make it more efficient...

Name: Anonymous 2008-12-18 16:50

>>3
It's Ruby, fucktard.

Name: Anonymous 2008-12-18 17:06

ONE WORD: THE FORCED INDENTATION OF CODE. EULER OVER.
import operator

def sub(lst):
    n = {'a': 'aRbFR', 'b': 'LFaLb'}
    return reduce(operator.add, [tuple(n.get(e, e)) for e in lst])

def dragon(steps):
    D = ('F', 'a')
    for i in range(steps):
        D = sub(D)
    return D

x = y = 0
r = 0
R = {
    0: lambda x,y: (x, y + 1),
    1: lambda x,y: (x + 1, y),
    2: lambda x,y: (x, y - 1),
    3: lambda x,y: (x - 1, y),
}
i = 0
z = 10**12

for n in dragon(50):
    if n == 'L':   r = (r - 1) % 4
    elif n == 'R': r = (r + 1) % 4
    elif n == 'F':
        x, y = R.get(r, lambda x, y: (x, y))(x, y)
        i += 1
        if i == z:
            break

print x, y

Name: Anonymous 2008-12-18 19:59

>>4
I was foreseeing >>5, retard.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List