#include bool primality_check(int n) { std::vector is_prime(n + 1, true); if (n <= 2) { return false; } is_prime[0] = is_prime[1] = false; for (int i = 2; i * i <= n; i++) { if (is_prime[i]) { for (int j = i * i; j <= n; j += i) { is_prime[j] = false; } } } return is_prime[n]; }