必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成29年度秋季問題一覧
  4. 平成29年度秋季問題7-解答・解説-分析

平成29年度秋季問題

問題7

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

if n =0 then 0 else return n *fact (n -1)
if n =0 then 0 else return n *fact (n +1)
if n =0 then 1 else return n *fact (n -1)
if n =0 then 1 else return n *fact (n +1)

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

if n =0 then 0 else return n *fact (n -1)
if n =0 then 0 else return n *fact (n +1)
if n =0 then 1 else return n *fact (n -1)
if n =0 then 1 else return n *fact (n +1)

解答:ウ

<解説>

nの階乗(n!)を求める式は、n1=n×(n-1)×(n-2)×...×2×1=n×(n-1)!である。ただし数学の規則により0!=1である。

× n=0として値を求めるとfact(0)=0となる。0!=1とならない。
× n=0として値を求めるとfact(0)=0となる。0!=1とならない。
階乗と一致する
× n>0の時、
fact(n) =n×fact(n+1)
  =n×(n+1) ×fact(n+2)
  =n×fact(n+1) ×fact(n+2) ×fact(n+3)

となる。したがって階乗を求める式と一致しない。