문제
정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다.
출력
각각의 테스트 케이스에 대해서 n보다 크거나 같은 소수 중 가장 작은 소수를 한 줄에 하나씩 출력한다.
소수를 확인하기 위해 IsPrime() 함수를 새로 만들어 소수 판별을 하고, 입력한 값보다 크고 그중에서는 제일 작은 소수를 출력하기 위해 value++을 해주었다.
bool IsPrime(long long n)
{
if (n < 2)
return false;
for (long long i = 2; i * i <= n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin >> n;
long long value;
for (int i = 0; i < n; i++)
{
cin >> value;
while (!IsPrime(value))
value++;
cout << value << "\n";
}
}