基本情報技術者試験 基本情報技術者試験 平成28年度 春期 午前 午前 問7: n の階乗を再帰的に計算する関数 F(n) の定義において,a に入れるべき式はどれか。ここで,n は非負の整数とする。 n > 0 のとき, F(n) = a

基本情報技術者試験 平成28年度 春期 午前
Q 77 / 80
n の階乗を再帰的に計算する関数 F(n) の定義において,a に入れるべき式はどれか。ここで,n は非負の整数とする。 n > 0 のとき, F(n) = a n = 0 のとき, F(n) = 1
この問の正解率:69.90%(1,535件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

n の階乗を再帰的に計算する関数 F(n) の定義において,a に入れるべき式はどれか。ここで,n は非負の整数とする。 n 0 のとき, F(n) = a n = 0 のとき, F(n) = 1

選択肢

  • .n+F(n-1)
  • .n-1+F(n)
  • .n×F(n-1)
  • .(n-1)×F(n)

正解

. n×F(n-1)

解説

階乗の定義 n! = n × (n-1)! なので、再帰式は F(n) = n × F(n-1)。基底 F(0)=1。

選択肢ごとの解説

  • .これは合計の計算式で階乗ではありません。
  • .F(n)が自分自身を含むと無限再帰になり計算できません。
  • .n!=n·(n-1)! の定義通り、正しい再帰式です。
  • .(n-1)·F(n) は F(n) が両辺に出る無限再帰で誤り。

基本情報技術者試験 平成28年度 春期 午前過去問一覧へ戻る・問7