bool is_prime_num(unsigned int n) {
	if (n == 0 || n == 1)
		return false;

	for (unsigned int i = 2; i * i <= n; ++i) {
		if (n % i == 0)
			return false;
	}
	return true;
}

에라토스테네스의 체

void Eratos(const int n) {
	if (n <= 1)
			return;
	
	vector<bool> primes(n + 1);

	for (int i = 2; i * i <= n; ++i) {
		if (primes[i]) {
			for (int j = i * i; j <= n; j += i)
				primes[j] = false;
		}
}

Sieve_of_Eratosthenes_animation.gif

출처 [https://ko.wikipedia.org/wiki/에라토스테네스의_체]