Slide 10
Slide 10 text
Solution 2: ジェネレーター関数を使う
①
②
③
yieldを使うと関数の呼
び出しごとに結果が返
されるジェネレーターに
なる
①x,yを0,1で初期化
②1世代前の値を返す
③2世代前のxを1世代
前yのk倍に置き換え、1
世代前yを直近2世代の
和に置き換える
x=0
y=1
yield x
0
0
x=0
y=1
yield y
x=y*k=2
y=x+y=1
1
1
x=2
y=1
yield y
x=y*k=2
y=x+y=3
1
2
x=2
y=3
yield y
x=y*k=6
y=x+y=5
3
3
x=6
y=5
yield y
x=y*k=10
y=x+y=11
5
4
x=10
y=11
yield y
x=y*k=22
y=x+y=21
11
5
k=2の例