2009-08-08から1日間の記事一覧

アッカーマン関数

アッカーマン関数(アッケルマン関数・Ackermann function)という関数があります。 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)) 一見、ちょっと奇妙なだけ…

イテレータのコピー

イテレータはコピーできない。 >>> import copy >>> def it(): ... for i in xrange(10): ... yield i ... >>> list(it()) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = it() >>> b = copy.copy(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> Fil</module></stdin>…