フィボナッチ数列を項数または最大値で生成する方法
項数を指定してフィボナッチ数列を生成できます。正の最大値を設定すると、上限を超えることになる前に生成が止まり、最大値を省略するか0以下にするとカットオフは有効になりません。
フィボナッチ数列を生成する前に
フィボナッチ数列を必要な項数だけ確認したいときは、項数の入力を使って生成します。入力を省略した場合の既定値は10です。さらに、正の最大値を設定すれば、数列の値がその上限を超えることになる前に生成を止められます。値の大きさで結果を区切りたい場合に使えますが、最大値は指定した項数を固定する設定ではありません。
最大値を使わず、項数を基準に生成したい場合は、最大値を省略するか、空欄または0以下の値にします。0以下の最大値ではカットオフは有効になりません。
入力して生成する手順
-
項数の入力欄を確認します。項数を指定しない場合は、空欄のままにするか入力を省略できます。この場合は10として扱われます。指定する場合は、整数に変換できる値を入力し、1以上10000以下に収めます。
-
必要に応じて最大値を入力します。整数に変換できる正の値を指定すると、次に生成される値がその最大値を超えることになる時点で生成が終了します。そのため、項数を10と指定しても、最大値の条件によって10個より少ない結果になることがあります。
-
最大値によるカットオフを使わない場合は、最大値を省略するか空欄にします。値を入力する場合は、0以下にしてください。この条件では最大値による途中終了は有効になりません。最大値を省略、空欄、またはnullにした場合の既定値は0です。
-
入力を確認して生成を実行します。項数や最大値を整数に変換できない場合は、処理が成功しません。項数が0以下の場合も使えず、10000を超える項数でも成功しません。入力を修正してから、もう一度生成してください。
結果の読み方と注意点
結果は、まず返された値の並びと個数を確認します。最大値を指定しなければ、基本的には入力した項数を基準に数列が生成されます。一方、正の最大値を指定した場合は、次に生成される値が上限を超えることになると、その時点で終了します。したがって、返された個数が指定した項数より少なくても、最大値の条件による結果である可能性があります。最大値を0以下にした場合は、この条件による途中終了は起こりません。
フィボナッチ数列の先頭は0から始まります。項数を1にした場合の結果は0だけです。項数を10にし、最大値を指定しない場合は、0、1、1、2、3、5、8、13、21、34の10個になります。入力値が変換できない場合や、項数が許容範囲外の場合は、数列そのものを読み取る前に入力を見直してください。
使用例
10個のフィボナッチ数を確認したい人が、項数を10にして最大値を空欄のまま生成します。
項数に10を入力し、最大値は空欄のまま生成します。
項数10で最大値を指定しない場合、0、1、1、2、3、5、8、13、21、34の10個が並びます。
制限事項
- 最大値は正のときだけ生成を止めるカットオフとして働き、指定した項数を正確に満たすための設定ではありません。
よくある間違い
- 項数に整数へ変換できない値を入力したり、0以下または10000を超える値を指定したりすると、処理が成功しません。整数に変換できる値を使い、項数を1以上10000以下に修正してください。
よくある質問
項数を省略した場合、いくつ生成されますか?
項数を省略、空欄、またはnullにした場合は、既定値の10として処理されます。
最大値を指定すると、指定した項数まで必ず生成されますか?
正の最大値を指定した場合は、次に生成される値が上限を超えることになると終了するため、指定した項数より少なくなることがあります。
最大値による制限を使わない方法は?
最大値を省略、空欄、またはnullにするか、0以下の値を指定してください。最大値の既定値は0で、この場合はカットオフが有効になりません。