パスポイ

令和8年度85テクノロジ系

関数 isPrime は,引数として与えられた正の整数が,素数であれば true を,素数でなければ false を戻り値とする。例えば,関数 isPrime を isPrime(2)として呼び出したときの戻り値は true である。プログラム中の a,b に入れる字句の適切な組合せはどれか。 〔プログラム〕

○論理型: isPrime(整数型: num)
  整数型: div ← 2
  if (num が 2 [ a ])
    return false
  else
    while (num が div [ b ])
      if (num ÷ div の余り が 0 と等しい)
        return false
      else
        div ← div + 1
      endif
    endwhile
    return true
  endif
  • a: 以下, b: と等しい
  • a: 以下, b: より大きい
  • a: より小さい, b: と等しい
  • a: より小さい, b: より大きい
正解と解説を見る

正解

a: より小さい, b: より大きい

isPrime(2)がtrueを返すことから、aの条件でnum=2のときにfalseへ分岐してはいけないため、a には「より小さい」が入る(num=2は2未満ではないのでelse側に進む)。また、while文はdivを2からnumの直前まで順に割ってみて約数を探す処理なので、num自身に達するまで繰り返す必要があり、b には「より大きい」が入る。よって正解はエ(a:より小さい、b:より大きい)である。

解いて競うと、毎月上位3名にAmazonギフト券5,000円分

無料登録すると過去問演習のスコアが月間ランキングに記録されます。1回10問・スマホでサクッと。