백준

백준 4134 - Java

으엉어엉 2024. 9. 3. 16:14
728x90

문제 

 

풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Minority {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());
        for(int i = 0; i < n; i++) {
            long num = Long.parseLong(br.readLine());

            if(num == 0 || num == 1 || num == 2) {
                System.out.println(2);
                continue;
            }

            while(true) {
                boolean isBreak = true;
                double d = Math.sqrt((double)num);
                for(long j = 2; j <= d; j++) {
                    if(num % j == 0) {
                        isBreak = false;
                        break;
                    }
                }
                if(isBreak) {
                    System.out.println(num);
                    break;
                }
                num++;
            }
        }
    }
}

 

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class Minority {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int testCaseCount = Integer.parseInt(br.readLine());
        for (int i = 0; i < testCaseCount; i++) {
            long num = Long.parseLong(br.readLine());

            // BigInteger를 사용하여 가장 가까운 소수를 찾는다.
            BigInteger bigNum = BigInteger.valueOf(num);
            BigInteger nextPrime = bigNum.isProbablePrime(10) ? bigNum : bigNum.nextProbablePrime();

            System.out.println(nextPrime);
        }
    }
}

 

조금 더 나은 풀이가 있을까 해서 찾아보니 isProbablePrime이라는 것이 있다.

728x90

'백준' 카테고리의 다른 글

백준 4948 - Java  (0) 2024.09.03
백준 1929 - Java  (0) 2024.09.03
백준 2485 - Java  (0) 2024.09.02
백준 1735 - Java  (0) 2024.09.02
백준 13241 - Java  (0) 2024.09.02