修了試験 2021-07-25実施分 基本情報技術者試験 問10
nの階乗を再帰的に計算する関数F(n)の定義において,aに入れるべき式はどれか。 ここで,nは非負の整数とする。 n>0のとき,F(n)=[ a ] n=0のとき,F(n)=1
正答3
解説
正解は3です。 nの階乗n!は、1からnまでの整数をすべて掛けた値で、0!=1と定義されます。 n!=n×(n-1)!という関係を使うと、再帰的に定義できます。 【選択肢別解説】 1:× n+F(n-1)は、1からnまでの和を求める式です。 積ではないので階乗になりません。 2:× n-1+F(n)は、右辺に同じF(n)が現れます。 F(n)を求めるのにF(n)が必要になり、再帰が終わりません。 3:○ F(n)=n×F(n-1)は、n!=n×(n-1)!をそのまま表しています。 nが1ずつ減ってF(0)=1に達すると再帰が終わります。 4:× (n-1)×F(n)も右辺にF(n)を含むので、再帰が終わりません。 値もn!になりません。 【ポイント】 再帰的な定義には、問題を小さくする式(n×F(n-1))と、再帰を止める基底(F(0)=1)の2つが必要です。 右辺の引数が小さくなっていない式は、再帰が終了しないので誤りと判断できます。まとめて解く
修了試験 2021-07-25実施分を通しで解く(80問)→