题目描述
给两个正方形求不相交面积是否为质数(即大正方形的面积减去小正方形的面积是否为质数
输入输出格式
输入格式:
一个t t组数据 每行 两个数(n m<=10^14)
输出格式:
质数输出“YES”、 不是输出“NO”
题解:【智商题】
第一步:判断a-b是否为1:是,接下一步;否,则为非质数;
第二步:判断a+b是否为质数;
#include<bits/stdc++.h>
using namespace std;
bool prime(long long x){//判断是否为质数;是则返回0否则返回1;
if(x==2) return 1;
if(x%2==0) return 0;
for(long long j=3;j*j<=x;j+=2){
if(x%j==0) return 0;
}
return 1;
}
int main(){
long long t;
cin>>t;
while(t--){
long long n,m;
cin>>n>>m;
if(n-m>1){
cout<<"NO"<<endl;
}
else{
if(prime(n+m)){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
}
}
}