情報
大学生・専門学校生・社会人
解決済み

このプログラムを教えてください!
break を使います。

フィボナッチ数列 の>1 三のの。十6 1 ニニ1、 の=ニ1 数列の値が 100 以下で最大となる時の, 項数n とその時の数列 an を求めよ
prevも使う。

回答

✨ ベストアンサー ✨

最近プログラムを習い始めたばかりなので、あまり詳しくないですが、わかる所だけ書きます。プログラム言語はPythonです。

def fibo(n): # フィボナッチ数列fibo(n)を定義する
if n == 0:
return 0 # nが0ならば、0を返す
elif n == 1:
return 1 # nが1ならば、1を返す
elif n < 0:
return break # return ValueError と同値
else:
return fibo(n-1) + fibo(n-2) # 再帰関数

n = int(input("n= ")
if fibo(n) <= 100:
print(max(fibo(n))) # 数列a_nの最大値
print(n.index(max(fibo(n)))) # 最大となる項数n

python 再帰関数
ゲスト

ありがとうございます。ですが、C言語で書いていただけますか?

DoDoraemon

ごめんなさい、C言語はわからないです。

ゲスト

わかりました、ありがとうございます。

この回答にコメントする

回答

数列なので繰り返し計算するfor文などを使えば良いと思います。
1回ごとの最後に
a_(n-1) = a_n
a_n = a_(n+1)
と代入すれば順番に計算されていくと思います。

breakの使い方ですが、if文などで条件を満たした瞬間に処理すればfor文から抜け出せます。

その後にprintfなどでnとa_nを出力してあげれば分かると思います。

一度自分で作ってみてください。
エラーが出てどうしても分からなければ見せてみてください。

ゲスト

出来ました、ありがとうございます。

この回答にコメントする
疑問は解決しましたか?

この質問を見ている人は
こちらの質問も見ています😉