パスポイ

関数isPrimeは,引数として与えられた正の整数が,素数であればtrueを… ITパスポート 令和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:より大きい)である。

出典:令和8年度 ITパスポート試験 問85

問題文および選択肢は独立行政法人情報処理推進機構(IPA)が公開する試験問題に基づいています。著作権はIPAに帰属します。解説は当サイトが独自に作成したものです。

解くほどポイントが貯まり、称号が上がる

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