フィボナッチ数列

最近のトレンドとしては、やっぱりHello, Woldの次はフィボナッチ数列ですよね(!?)

id:rubyco:20060228風再帰

def fib1(n):
    if n <= 1:
	return 1
    else:
	return fib1(n - 1) + fib1(n - 2)

Pythonチュートリアルの中にあるループ版

def fib2(n):
    a, b = 1, 1
    for i in range(n):
        a, b = b, a + b
    return a

a, b = b, a + bというのが面白いですね。

実行

>>> for i in range(20):
	print fib1(i),

	
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

しばらくこれで遊んでみますか。