第2種情報処理技術者試験 1998年度 = 平成10年度・春期 午前 問19

 nの階乗を再帰的に計算する関数F(n)の定義を与える次の記述の      に入れるべき式はどれか。ここで、nは非負の整数とする。

    n = 0 のとき、F(n) = 1
    n > 0 のとき、F(n) =     

 ア F(n)×F(n-1)  イ n×F(n-1)
 ウ (n-1)×F(n)  エ (n-1)×F(n-2)

解答

 イ

解説

 整数nの階乗は以下のように再帰的に定義されます。
  (a) 0! = 1
  (b) n > 0ならば n! = n × (n - 1)!
たとえば、10の階乗である10!は、(b)によって
  10! = 10 × 9!
と求めることができます。もちろん、右辺の9!は、
  9! = 9 × 8!
によって得られます。一般的に表現するために、nの階乗を求める手続きをF(n)とすると、10!および9!は、次のようになります。
  10! = 10 × F(9)
  9! = 9 × F(8)
すなわち、nが0より大きいときのF(n)は、nとF(n - 1)を掛け合わせたn×F(n-1)です。


BohYoh.comトップページへ