問78 3 で割り切れる数の合計

ITパスポート 令和7年度 公開問題、全100問のうちの問78。

出典:令和7年度 ITパスポート試験 公開問題 問78(プログラムは原本の画像を文字に書き起こした)

手続 calcMod3を呼び出したときの出力はどれか。

プログラム
○calcMod3()
整数型: totalValue, i
totalValue ← 0
for (i を 1 から 7 まで 1 ずつ増やす)
if (i ÷ 3 の余り が 0 と等しい)
totalValue ← totalValue + i
endif
endfor
totalValue を出力する
  1. ア2
  2. イ3
  3. ウ7
  4. エ9
答えと解説を開く

正解はエです。

このプログラムは、i を 1 から 7 まで 1 ずつ増やしながら、i を 3 で割った余りが 0 かどうかを調べます。余りが 0 のときだけ、totalValue に i を足します。totalValue は最初 0 です。i が 1 と 2 のときは余りが 1 と 2 なので足しません。i が 3 のときは余りが 0 なので、totalValue は 0+3=3 になります。i が 4 と 5 は余りが 1 と 2 で足しません。i が 6 のときは余りが 0 なので、totalValue は 3+6=9 になります。i が 7 は余りが 1 で足しません。最後に 9 を出力します。だから正解はエです。

ほかの選択肢が違う理由

  • ア2 は、1 から 7 までで 3 で割り切れる数の個数 (3 と 6 の 2 個) です。このプログラムは個数ではなく、その数の合計を求めます。
  • イ3 は、最初に 3 で割り切れた i の値だけです。i が 6 のときにも足すので、合計は 3 では終わりません。
  • ウ7 は、繰返しの最後の i の値です。totalValue には 3 で割り切れる数だけを足すので、7 にはなりません。

仕組み

「÷ 3 の余りが 0」は「3 で割り切れる」、つまり「3 の倍数」という意味です。余りを求める計算は、倍数かどうかを調べるときによく使います。

トレースの問は、変数の値を 1 回ずつ表に書き出すと、数え間違いを防げます。

この問に出る言葉