题目链接:A. Prime Subtraction
刚开始准备素数打表,后来发现数据范围在10^18所以打表肯定会超时,想想还得用log(n)的算法,思路越想越偏,结果就卡死了,后来发现这题需要用到数论中的唯一分解定理(知道了这题就是个水题):
根据唯一分解定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积,
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
int q;
scanf("%d",&q);
while(q--){
ll x,y;
scanf("%lld%lld",&x,&y);
if(x-y==1)printf("NO\n");
else printf("YES\n");
}
return 0;
}