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

ab
以下と等しい
以下より大きい
より小さいと等しい
より小さいより大きい
答え
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズムとプログラミング
解説
与えられた正の整数が素数かどうかを判定するプログラムの空欄を埋める問題です。答えは「エ」です。素数とは1とその数自身以外に約数を持たない,2以上の整数のことです。プログラムでは,まず2未満(1以下)の数は素数ではないと判定する必要があるため,aには「より小さい」が入ります。

そして,2以上の数について,2からその数自身の1つ手前までの数(divがnumより小さい間)で割り切れるかどうかを調べる必要があるため,bには「より小さい」が入ります。このように,判定すべき範囲を正しく設定することが素数判定のポイントで,選択肢「エ」の組合せが適切です。他の選択肢は「以下」や「と等しい」としており,判定範囲がずれてしまい正しく動作しないため誤りです。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる