본문 바로가기

컴퓨터/백준 알고리즘

백준 알고리즘 - 4134번: 다음 소수 [Java]

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

 

4134번: 다음 소수

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다.

www.acmicpc.net

1. 코드

import java.math.*;
import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		while(N-- > 0) {
			BigInteger num = new BigInteger(sc.next());
			if(num.isProbablePrime(10))
				System.out.println(num);
			else
				System.out.println(num.nextProbablePrime());
		}
	}
}

2. 설명

BigInteger.isProbablePrime(10) 메서드를 통해서 입력한 값이 소수인지 확률적으로 판단한 뒤 만약 소수라고 판단되면 출력되고 아니라면 다음 소수라고 판단되는 수를 출력합니다.