令和7年度 春期 応用情報技術者試験 午前 問7
テクノロジアルゴリズム
この問題は2025(R7)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
は,非負の整数に対しての階乗を返す。の再帰的な定義はどれか。
解答・解説を読む
正解: 選択肢ウ
再帰的な定義を用いて非負の整数 の階乗 を求める場合、以下の2つの条件を満たす必要があります。
- ベースケース: のとき、 を返す。
- 再帰ステップ: のとき、 を求めるため、 に を掛けた値を返す。
これらを組み合わせた定義は、「if then return else return 」となります。
各選択肢の解説
- ア: ベースケースで を返しているため、すべての値に が掛けられ、結果が になってしまうため誤りです。
- イ: ベースケースが であるうえに、再帰呼び出しで を渡しているため、終了条件を満たさず無限ループに陥り誤りです。
- ウ: 正しい再帰的な定義です。
- エ: 再帰呼び出しで を渡しているため、引数が減ることがなく無限ループに陥るため誤りです。