私は次のように尋ねられました。
while ループを使用して、整数のフィボナッチ数列を生成するプログラムを作成します。あなたのプログラムは、生成するフィボナッチ数列のエントリ数をユーザーに尋ね、この数のエントリを画面に出力する必要があります。
どこから始めればよいかわかりません。誰かが私を正しい方向に向けることができますか?
変数を使用して最後の値と現在の値を保持し、現在の値を出力してから最後の値を更新します...あなたのためにそれを書きたくありません:)
すべてのフィボナッチ数は、前の 2 つのフィボナッチ数の合計として生成されます。最初の 2 つのフィボナッチ数は0
と1
です。
上記を定義として使用して、コードの設計を開始しましょう。
function fibonnacci:
n := ask user how many numbers to output # hint: use raw_input() and int()
if n is 1:
output 0
else if n is 2:
output 0, 1
else:
output 0, 1
lastNumber := 1
twoNumbersAgo := 0
count up from 3 to n:
nextNumber := twoNumbersAgo + lastNumber
output nextNumber
twoNumbersAgo := lastNumber
lastNumber = nextNumber
end function
答えを出す前に、この問題について少し考えてみましょう。
フィボナッチ数列の形式は 0 1 1 2 3 5 8 13 21 ...
ご覧のとおり、次の数値は前の 2 つの数値の合計であるため、その定義に基づいて、前の 2 つの数値を格納するための 2 つの変数と、合計を格納するための変数が必要であることがわかります。ループを終了する必要がある場合 (ユーザーから取得した番号)。
誰かがすでに投稿しているようですが、気にしないでください。