本文へ移動

ふぃぼなっちすうれつ

フィボナッチ数列

前の2つの数を足すと次の数になる規則を持つ数列で、再帰処理や動的計画法の学習題材として頻出します。

詳しい説明

フィボナッチ数列とは、隣り合う2つの数の和が、その次の数になるという規則性を持った数列です。1、1、2、3、5、8、13、21…と続いていき、前の数に対する次の数の比率は、計算を進めるほど黄金比に近づく性質があります。自然界の花びらの数や貝殻の渦巻きなどにも見られる数学的な美しさを持ち、情報処理の世界でもアルゴリズムの学習で頻繁に用いられます。

プログラミングの学習においては、再帰処理の仕組みを理解するための題材として非常に重要です。再帰処理とは、ある関数の中で自分自身を呼び出す手法であり、フィボナッチ数列を計算するプログラムは「前の2つの値を求めるために、自分自身を呼び出す」という構造をシンプルに表現できます。効率的な計算方法である動的計画法を学ぶ際にも、この数列を計算する処理はよく取り上げられます。

試験においては、この数列そのものの知識よりも、アルゴリズムやプログラミング言語の論理的思考力を試す問題として出題されます。例えば、フィボナッチ数列を生成する際の計算ステップ数や、再帰呼び出しによるスタックの消費などが問われることがあります。単純な計算ルールを、プログラムコードやフローチャートとして正しく記述できるかどうかが鍵となります。

試験で問われること

基本情報技術者試験

  • 再帰呼び出しの仕組みを理解する題材として出題されます。
  • 計算量や処理の効率化(動的計画法やメモ化)が問われます。
  • プログラムコードのトレースを通じて数列生成のルールを読み解く力が求められます。