[백준 4134] 다음 소수

alsry._.112·2023년 9월 27일
0

백준

목록 보기
67/102

🔗문제 풀러가기
단계별로 풀어보기 단계 15의 5번째 문제이다.

문제 분석

코드

#include <iostream>
using namespace std;

bool isPrime(long long num)
{
    if (num <= 1) return false;

    if (num == 2 || num == 3) return true;

    if (num % 2 == 0 || num % 3 == 0) return false;

    for (long long i = 5; i * i <= num; i++)
    {
        if (num % i == 0 || num % (i + 2) == 0)
        {
            return false;
        }
    }

    return true;
}

int main()
{
    long long N, input;
    cin >> N;

    for (int i = 0; i < N; ++i)
    {
        cin >> input;
        while (!isPrime(input))
        {
            input++;
        }
        cout << input << endl;
    }
}

해석

  1. 소수인지 아닌지를 확인하는 Bool형 함수 IsPrime을 선언하였다.
  • IsPrime은 매개변수로 들어온 num이 소수인지 아닌지 반환하는 함수이다.
  1. N을 입력받은 후 N만큼 아래의 작업을 반복한다.
  • input을 입력받는다.
  • 입력받은 input이 소수가 아니라면 input += 1을 하여 input 다음의 수가 소수인지 확인한다.
  • input을 출력한다.
profile
소통해요

0개의 댓글