728x90
- 관련 사이트: https://www.acmicpc.net/problem/4134
정수 n 이 주어졌을 때, n 보다 크거나 같은 소수 중 가장 작은 소수 찾는 문제이다.
1) 입력된 수부터 약수인지 확인
2) 2부터 수의 제곱근까지 나눠지는 수가 있는지 확인: i * i <= num
3) 약수가 없다면 소수이므로 출력
#include <iostream>
using namespace std;
bool isPrime(long long int num)
{
if (num <= 1)
return false;
for (long long i = 2; i * i <= num; ++i)
{
if (num % i == 0)
return false;
}
return true;
}
int main()
{
long long int T, n;
cin >> T;
for (long long int i = 0; i < T; i++)
{
cin >> n;
while (!isPrime(n))
n++;
cout << n << "\n";
}
return 0;
}
- 메모리: 2020 KB
- 시간: 288 ms
- 코드 길이: 463 B
728x90
'Algorithm > BackJoon' 카테고리의 다른 글
13909번: 창문 닫기 (0) | 2023.06.24 |
---|---|
15733번: 나는 누구인가 (0) | 2023.06.23 |
1735번: 분수 합 (0) | 2023.06.20 |
1436번: 영화감독 숌 (0) | 2023.06.15 |
1018번: 체스판 다시 칠하기 (0) | 2023.06.14 |
댓글