본문 바로가기

백준

[백준] 15711 환상의 짝궁

 

 


 

https://roomconerdeveloper.tistory.com/94

 

백준 15711 환상의 짝꿍 자바

환상의 짝꿍 문제 보러가기 15711번: 환상의 짝꿍 환상의 나라 디디랜드에서는 인연의 증표로 끈을 하나씩 가지고 있다. 그들은 지극히 평범한 방법으로 이 끈을 이용하여 어떤 두 사람이 환상

roomconerdeveloper.tistory.com

 

 


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main {
	static boolean[] prime = new boolean[2000001]; //2000000의 제곱이 최대수다 여기서 나머지가 나오지 않는 것이 소수
	static ArrayList<Integer> list = new ArrayList<>();
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		isPrimeNumber();
		isPrime();
		StringBuilder sb = new StringBuilder();
		int N = Integer.parseInt(br.readLine());
		while(N --> 0) {
			StringTokenizer st = new StringTokenizer(br.readLine(), " ");
			long a = Long.parseLong(st.nextToken());
			long b = Long.parseLong(st.nextToken());
			
			long sum = a+b;
			if(sum <= 3)
				sb.append("NO").append("\n");
			else if(sum%2 == 0)
				sb.append("YES").append("\n");
			else {
				if((sum-2) % 2 == 0)
					sb.append("NO").append("\n");
				else {
					sum -= 2;
					for(long i : list) {
						int temp = (int)Math.sqrt(sum); //제곱보다 크다면 멈춰도 된다 
						if(i > temp || i == list.get(list.size()-1)) { //for이 끝날 때 까지 없다면 소수다
							sb.append("YES").append("\n");
							break;
						}
						if(sum % i == 0) {
							sb.append("NO").append("\n");
							break;
						}
					}
				}
			}
		}
		System.out.println(sb);
	}
	static void isPrimeNumber() {
		for(int i = 2; i < Math.sqrt(2000000); i++) {
			if(prime[i])
				continue;
			for(int j = i * i; j <= 2000000; j += i) {
				prime[j] = true;
			}
		}
	}
	static void isPrime() {
		for(int i = 2; i <= 2000000; i++) {
			if(!prime[i])
				list.add(i);
		}
	}
}

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

[백준] 1644 소수의 연속합  (0) 2021.11.16
[백준] 2485 가로수  (0) 2021.11.16
[백준] 6588 골드바흐의 추측  (0) 2021.11.16
[백준] 2580 스도쿠  (0) 2021.11.06
[백준] 2661 좋은수열  (0) 2021.11.03