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;
}
}
소수 확인은 그 수의 제곱근 이하의 약수만 확인하면 된다.
'알고리즘' 카테고리의 다른 글
C++ 알고리즘 - 백준 4948 베르트랑 공준 (에라토스테네스의 체) (0) | 2025.01.12 |
---|---|
C++ 알고리즘 - 백준 13909 창문 닫기 (0) | 2025.01.12 |
C++ 알고리즘 - 백준 2485 가로수 (0) | 2025.01.12 |
C++ 알고리즘 - 백준 1735 분수 합 (0) | 2025.01.11 |
C++ 알고리즘 - 백준 1934 최소공배수 (0) | 2025.01.11 |