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

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

問題

次の擬似言語プログラムを実行したとき、変数flagの値はどれか。 整数型: n ← 7 論理型: flag ← true 整数型: i ← 2 while (i ≦ n - 1) if (n mod i = 0) flag ← false endif i ← i + 1 endwhile

選択肢

  1. 1ア true
  2. 2イ false
  3. 3ウ 7
  4. 4エ 0

正解

1. ア true

詳しい解説を見る

解説

このプログラムは、nが2からn−1までのいずれかの数で割り切れたらflagをfalseにする素数判定である。n=7の場合、iは2〜6まで動き、7 mod 2=1、7 mod 3=1、7 mod 4=3、7 mod 5=2、7 mod 6=1とすべて0にならないため、flagがfalseに書き換えられることはなく、初期値のtrueのまま終了する。7は素数であり、アが正解である。イのfalseはいずれかで割り切れると誤読した場合の誤りで、ウの7やエの0はそもそも論理型変数flagの値として型が不適切である。頻出ポイント:割り切れるか調べる範囲は本問のようにn−1までの素朴な実装のほか、平方根まで調べれば十分という効率化も知られている。フラグ変数の初期値と更新条件の読み取りは科目Bの定番である。

一問一答

科目A 180問+科目B 60問

Bの関連問題

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

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