티스토리 뷰

백준/실버

[백준 4134번] 다음 소수 (C++)

게임개발기원 2025. 4. 9. 00:07

문제링크 : https://www.acmicpc.net/problem/4134

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int T;
ll N;

bool cal(ll n) 
{
    if (n < 2) return false;
    for (int i = 2; i <= sqrt(n); i++) 
    {
        if (n % i == 0) return false;
    }
    return true;
}

int main(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin >> T;
    while(T--)
    {
        cin >> N;
        while(!cal(N))
        {
            N++;
        }
        cout << N << "\n";
    }

    return 0;
}

 

주어진 N보다 같거나 큰 소수를 찾는 문제이다.

현재 N을 기준으로 소수 판별을 시작해 소수가 아니라면 계속 N 값을 증가시켜가며 다시 소수 판별을 해준다.

주의할 점은 N의 범위가 매우 커서 long long으로 선언해주어야 한다는 점이다.

소수 판별에서는 범위가 sqrt(n)이므로 long long으로 해줄 필요는 없다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함