알고리즘

C++ 알고리즘 - 백준 4134 다음 소수

마루설아 2025. 1. 12. 01:41

https://www.acmicpc.net/problem/4134

 

#include <bits/stdc++.h>
#define endl "\n"

using namespace std;

void CPP_INIT() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
}

bool prime(long long n) {
	int cnt = 0;

	for (long long i = 2; i <= sqrt(n); i++) {
		if (n % i == 0) return false;
	}

	return true;
}

int main(void) {
	CPP_INIT();

	long long input1, input2;
	cin >> input1;

	for (long long i = 0; i < input1; i++) {
		cin >> input2;

		if (input2 == 0 || input2 == 1) {
			cout << 2 << endl;
			continue;
		}

		while (!prime(input2)) {
			input2++;
		}

		cout << input2 << endl;
	}
}

 

소수 확인은 그 수의 제곱근 이하의 약수만 확인하면 된다.