题目描述
牛妹是一个爱吃素的小女孩,所以很多素数都害怕被她吃掉。
一天,两个数字aaa和bbb为了防止被吃掉,决定和彼此相乘在一起,这样被吃掉的风险就会大大降低,但仍有一定的可能被吃掉,请你判断他们相乘后是否仍有被吃掉的风险。
也就是说,请你判断a×ba\times ba×b是否是素数。
素数是指大于111的正整数中,有且仅有两个因子的数。
输入描述:
输入第一行是一个整数T(1≤T≤10),表示测试组数。接下来TTT行,每一行两个整数a,b(1≤a,b≤10^11)。
输出描述:
对于每一行输入,若输入满足a×b是素数,输出一行"YES",否则输出一行"NO"(没有引号)。
示例1
输入
3 2 3 1 7 1 4输出
NO YES NO
题号:NC227310
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
import java.util.*;
import java.math.*;
public class Main{public static void main (String args[]){Scanner scan=new Scanner(System.in);int T=scan.nextInt();while(T>0){T--;BigInteger a=scan.nextBigInteger();BigInteger b=scan.nextBigInteger();BigInteger c=a.multiply(b);if(c.isProbablePrime(1)){System.out.println("YES");}else{System.out.println("NO");}}}
}