平成29年度 秋期
応用情報技術者試験問題と解答
問7
fact(n) は、非負の整数 n に対して n の階乗を返す。
fact(n) の再帰的な定義はどれか。

 ア if n=0 then return 0 else return n×fact(n−1)
 イ if n=0 then return 0 else return n×fact(n+1)
 ウ if n=0 then return 1 else return n×fact(n−1)
 エ if n=0 then return 1 else return n×fact(n+1)



【正解】 ウ

n = 3 の時 3の階乗、すなわち3×2×1 = 6となるかを調べる。

ア fact(3) = 3×fact(2) = 3×2×fact(1)
 = 3×2×1×fact(0) = 3×2×1×0 = 0となる。
イ fact(3) = 3×fact(4) = 3×4×fact(5)
 = 3×4×5×fact(6) ・・・ となり、処理が永遠に終了しない。
ウ 正しい。
 fact(3) = 3×fact(2) = 3×2×fact(1)
 = 3×2×1×fact(0) = 3×2×1×0 = 6となる。
エ fact(3) = 3×fact(4) = 3×4×fact(5)
 = 3×4×5×fact(6) ・・・ となり、処理が永遠に終了しない。

EXCEL VBAのご相談なら ファーストマクロ 



問6 目次 問8
ファーストマクロ TOPページ