けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

鉄則本 A26 - Prime Check (5Q, ★2)

素数判定。鉄則本の問題なので、コードのみ。

問題概要

 Q 個の整数  X_{1}, X_{2}, \dots, X_{Q} がそれぞれ素数であるかどうかを判定せよ。

制約

  •  1 \le Q \le 10^{4}
  •  2 \le X_{i} \le 3 \times 10^{5}

コード

#include <bits/stdc++.h>
using namespace std;

bool is_prime(int N) {
    if (N <= 1) return false;
    for (int x = 2; x * x <= N; x++) {
        if (N % x == 0) return false;
    }
    return true;
}

int main() {
    int Q, X;
    cin >> Q;
    for (int i = 0; i < Q; i++) {
        cin >> X;
        cout << (is_prime(X) ? "Yes" : "No") << endl;
    }
}