ITパスポート ラボ

学習の画面へ

令和8年度 問85

素数を判定する関数

出典: 令和8年度 ITパスポート試験 公開問題 問85 (IPA)

関数 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
  1. ア a: 以下, b: と等しい
  2. イ a: 以下, b: より大きい
  3. ウ a: より小さい, b: と等しい
  4. エ a: より小さい, b: より大きい
正解と解説を見る

正解: エ

ポイント

素数は、2 以上で、1 と自分自身以外では割り切れない数です。

確かめ: num = 2 のとき、a は偽で、b の while は最初から偽 (2 > 2 でない) なので、true を返します。num = 4 のとき、div = 2 で余り 0 なので false です。

広告

「アルゴリズムとプログラミング」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)

広告