第1種情報処理技術者試験 |
1995年度 = 平成7年度 |
午前 |
問10 |
再帰の概念を説明するために、階乗の関数プログラムを作った。この関数の定義を与える次の記述の に入れるべき式はどれか。ここで、n は非負の整数とする。
関数F(n)は、
n≦1の場合には、F(n) =1
n<1の場合には、F(n) =
ア F(n)*F(n-1)
| イ n*F(n-1)
|
ウ (n-1)*F(n)
| エ (n-1)*F(n-2)
|
オ (n-2)*F(n-1)
|
イ
整数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)を掛け合わせたものです。