早速ですが、次のような問題を考えてみましょう。「ソウサ 4」の結果はいくつになるでしょうか。

ソウサ x:

  • x=1 のとき、ソウサ x の結果は 1 である。
  • x ≥ 2 のとき、ソウサ x の結果は「ソウサ x-1 の結果に x を足した値」である。

答えは下図の通り 1+2+3+4=10 になります。

さて、この例では答えを求めるために「ソウサの結果」を呼び出しており、このように自分自身を引用することを「再帰的定義」と言います。また、プログラミングにおいて自分自身を呼び出す関数を「再帰関数」と言います。再帰関数は、複雑なアルゴリズムを簡潔に実装するときに便利なツールである一方、初学者にとっては最初の壁になりがちです。そこで今回は、3 つの例を用いてわかりやすく解説していきたいと思います。

再帰関数の例 (1):足し算

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら