1. 学ぶ
  2. /
  3. コース
  4. /
  5. SQL Server における階層型クエリと再帰クエリ

Connected

演習

6 の階乗を再帰でクエリする方法

前の演習では、反復的 な方法で 5! を求めました。今回は 6! を 再帰的 に計算します。同じ種類のより小さな問題に分解して、階乗 n! を再帰的に定義します。次の定義を使います。

  • step = 0 のとき 0! = 1
  • step > 0 のとき (n+1)! = n! * (step+1)

このシンプルな定義で、どの数の階乗も計算できます。本演習では、n! は factorial で表します。

この定義を、再帰的な CTE を使って実装していきます。

指示

100 XP
  • factorial と step の各フィールドを 1 で初期化します。
  • 再帰部分を factorial * (step + 1) で計算します。
  • 現在の反復の値が目標の階乗の数より小さい間は再帰を続け、それ以外で停止します。