リカージョンの例: 階乗の計算


階乗は、正の整数 n の階乗を計算する演算です。n の階乗は、n! と表記されます。n! は、n × (n-1) × (n-2) × ... × 3 × 2 × 1 の値を表します。

リカージョンを使用して階乗を計算するには、以下の手順に従います:

  1. 階乗を計算する関数を作成します。この関数は、整数 n を引数として受け取り、n の階乗を返します。
  2. リカージョンのベースケース(終了条件)を定義します。階乗の場合、0 の階乗と 1 の階乗は 1 と定義されています。つまり、n が 0 または 1 の場合、その値を返します。
  3. リカージョンの再帰ステップを定義します。n の階乗は、n × (n-1) の階乗として定義されます。つまり、n の階乗を計算する場合、n 自体を n-1 の階乗と掛け合わせます。
  4. 上記のベースケースと再帰ステップを組み合わせて、階乗を計算する関数を完成させます。

以下は、Pythonで階乗を計算するリカージョンの例です:

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n-1)
# 階乗を計算する例
n = 5
result = factorial(n)
print(f"{n}の階乗は{result}です。")

この例では、factorial 関数がリカージョンを使用して階乗を計算しています。関数は自身を再帰的に呼び出しており、n の階乗を計算するために n-1 の階乗を利用しています。