基本情報トップに戻る
B難易度: 2026年度

基本情報技術者 予想問題B 第63問

問題

次の擬似言語プログラムで、関数fact(4)の戻り値はいくつか。 ○ 整数型: fact(整数型: n) 整数型: result ← 1 整数型: i for (i を 1 から n まで 1 ずつ増やす) result ← result × i endfor return result

選択肢

  1. 1ア 4
  2. 2イ 10
  3. 3ウ 24
  4. 4エ 120

正解

3. ウ 24

詳しい解説を見る

解説

正解はウ。この関数はforループでresultに1からnまでの整数を順に掛けており、n!(nの階乗)を反復処理で計算するものである。fact(4)の途中経過を追うと、result=1から始まり、i=1で1×1=1、i=2で1×2=2、i=3で2×3=6、i=4で6×4=24となり、戻り値は24である。アの4は引数nをそのまま返すと誤読した場合、イの10は掛け算ではなく足し算(1+2+3+4)と取り違えた場合、エの120は5!(fact(5))の値であり1回多く掛けた場合の誤りである。階乗は再帰関数の題材としても頻出であり、4!=24、5!=120は即答できるようにしておくと、再帰版・反復版のどちらの出題にも素早く対応できる。

一問一答

科目A 180問+科目B 60問

Bの関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。