ウカマル応用情報技術者ログイン

平成29年度 秋期 応用情報技術者 問7

テクノロジ系

fact(n)は,非負の整数nに対してnの階乗を返す。fact(n)の再帰的な定義はどれか。

選択肢
正解と解説

正解 ウ

階乗は0!=1を終了条件とし、n!=n×(n−1)!と1つ小さい値を呼び出して定義します。

階乗の定義は0!=1、n!=n×(n−1)!(n≧1)です。再帰的な定義には、再帰を止める終了条件と、問題を小さくする再帰呼出しの2つが必要です。ウでfact(3)を追うと、3×fact(2)、3×2×fact(1)、3×2×1×fact(0)となります。fact(0)が1を返すので、結果は6です。

ア:fact(0)が0を返すので、掛け算の最後に0が掛かり、どのnでも結果が0になります。

イ:fact(n+1)はnを増やしながら呼び出すので、n=0に到達せず再帰が終わりません。終了条件の0も誤りです。

エ:fact(n+1)はnを増やしながら呼び出すので、n≧1から始めるとn=0に到達せず、再帰が終わりません。

出典:平成29年度 秋期 応用情報技術者試験 問7

全年度から出題。10問で実力を判定します。登録不要。

出典:平成29年度 秋期 応用情報技術者試験 問7(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方