Ackermann関数
def ack(m, n): if m == 0: return n +1 elif n == 0: return ack(m -1, 1) else: return ack(m - 1, ack(m, n-1)) for m in range(1,10): print ack(m, 1)
ナイーブ過ぎて,スタックオーバーフローしますねえ.
def ack(m, n): if m == 0: return n +1 elif n == 0: return ack(m -1, 1) else: return ack(m - 1, ack(m, n-1)) for m in range(1,10): print ack(m, 1)
ナイーブ過ぎて,スタックオーバーフローしますねえ.