再帰関数とは、関数内で自分自身を呼び出すことができる特殊な関数です。
この記事では、再帰関数を使って階乗の計算を行う方法について解説します。
目次から探す
再帰関数とは
再帰関数は、関数内で自分自身を呼び出すことができる関数のことです。
階乗の計算においても再帰関数を使うことができます。
階乗の定義
階乗とは、ある自然数nに対して、1からnまでのすべての自然数を掛け合わせた値のことです。
階乗はn!と表されます。
再帰関数を使った階乗の計算方法
再帰関数を使って階乗を計算する場合、以下の手順で実装します。
- 階乗を計算する関数を定義します。
関数名は任意ですが、ここでは factorial
とします。
- 関数内で、階乗を計算するための条件分岐を行います。
もし引数が0または1の場合、その値を返します。
これが再帰の終了条件です。
上記以外の場合、関数内で自分自身を呼び出し、引数を1減らした値を渡します。
- 関数内で自分自身を呼び出すことで、再帰的に階乗を計算します。
- 最終的な結果を返します。
以下に、再帰関数を使った階乗の計算のサンプルコードを示します。
#include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
int result = factorial(num);
printf("%dの階乗は%dです。\n", num, result);
return 0;
}
5の階乗は120です。
上記のコードでは、factorial
という再帰関数を定義し、main関数
内でその関数を呼び出しています。
num
には計算したい階乗の値を指定し、result
には計算結果が格納されます。
最後に、結果を表示しています。