読者です 読者をやめる 読者になる 読者になる

謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

クロージャの無い言語でクロージャもどきかよっ!

Python C言語

http://ml.tietew.jp/cppll/cppll/article/10669

調べてたらあった、、、、
恐るべし、、、、。

とりあえずPython移植

def tarai_lazy(x, y, xx, yy, zz):
    if x <= y:
        return y
    z = tarai(xx, yy, zz)
    return tarai_lazy(tarai(x - 1, y, z),
                      tarai(y - 1, z, x),
                      z - 1, x, y)

def tarai(x, y, z):
    if x <= y:
        return y
    return tarai_lazy(tarai(x - 1, y, z),
                      tarai(y - 1, z, x),
                      z - 1, x, y)


if __name__ == "__main__":
    print(tarai(20,10,5))
    raw_input()