メインコンテンツへスキップ
基本情報技術者令和7年度 CBT科目B問 1計算

令和7年度 CBT 基本情報技術者 科目B 問1

難度標準

次のプログラム中のaとbに入れる正しい答えの組合せを、解答群の中から選べ。

関数function1が受け取る引数と、関数function2が受け取る引数とが同じとき、二つの関数は同じ値を返す。ここで、引数nと引数mは正の整数であり、引数mは引数nよりも10以上大きい数とする。

〔プログラム〕

○整数型: function1(整数型: n, 整数型: m)
  整数型: count ← 0
  整数型: i
  for (iをnからmまで1ずつ増やす)
    if ((i mod 4)が0と等しい)
      count ← count + 1
    endif
  endfor
  return count

○整数型: function2(整数型: n, 整数型: m)
  整数型: count ← 0
  整数型: tempN ← n
  整数型: i, j
  for ([a])
    if ((tempN mod 4)が0と等しい)
      繰返し処理を終了する
    endif
    tempN ← tempN + 1
  endfor

  for ([b])
    count ← count + 1
  endfor
  return count

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

function1は、n以上m以下の4の倍数を数えます。function2も同じ範囲の4の倍数だけを数えればよいので、最初のループでtempNをn以上で最小の4の倍数にします。

詳細Layer 2
展開

nを4で割った余りが1なら3回の加算、2なら2回、3なら1回、0なら加算は不要です。そのためaはiを1から3まで1ずつ増やす処理です。例えばn=1なら、3回の加算後にtempN=4になります。

補足Layer 3
展開

次にtempNから始め、mを超えない範囲で4ずつ増やして数えます。これにより4の倍数だけを漏れなく数えられます。したがってカです。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「アルゴリズムとプログラミング」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
学習の進め方
擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
関連キーワード
計算量二分探索クイックソート再帰スタックキュー木構造
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

アルゴリズムとプログラミング の他の問題

他年度の「アルゴリズムとプログラミング」問題

基本情報技術者 の同じ分野を年度をまたいで演習する

基本情報技術者 の学習ガイド