フィボナッチ数列の最大値とその項数
Q&A
python
def fib(n):
a, b = 0, 1 #aに0,bに1を代入
cnt = 1 #ループカウンタの初期化
while cnt <= n:
a, b= b, a+b
cnt = cnt + 1
return a #aを戻り値として返す
x =100
i = ......
.....
....
print()
print()
問題は、x以下のフィボナッチ数で最大の数とその最大の数の項数を求める問題で.......の部分に何かコードを書くのですがよく分からないので助けてください。
*文系なのでできるだけ難しい数学の説明とかはなしで解説してくれるとうれしいです。
また、ヒントとして
「例えば,フィボナッチ数を第0項から順に求めるといった繰り返し処理を,フィボナッチ数がxを超えるまで(フィボナッチ数がx以下である間)繰り返す処理を行うことで,所望の実行結果が得られます.説明動画で作成した関数fibを利用するのであれば,fibの戻り値 fib(i) が x を超えるまで(戻り値 fib(i) が x 以下である間)繰り返す処理を行うことになります.while文の条件式に,fib(i) と x を比較した条件式を記述すれば,このような繰り返し処理が実現できます. 」
とあって「fibの戻り値 fib(i)」のfibの戻り値ってどうしてfib(i)なのですか?
return aのaじゃないのでしょうか??
0