***我裂开了***

mac2026-04-03  5

我裂开了 原题链接https://nuoyanli.com/contest/27/problem/G 一道思路题 题目较为简单 但是由于给的数过大,暴力的方法会T掉,所以要经过一定的思考 首先使用素数筛选出比两数之差小的所有的素数 然后判断两数之差是否可以被素数整除即可 对于1,2,3这几个较为特殊的素数可以单独拿出来进行判断

#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; int main() { long long T; scanf("%lld",&T); while(T--) { long long x,y; scanf("%lld %lld",&x,&y); long long i,j,r=0,o; long long p=x-y; if(p==1) { printf("NO\n"); continue; } if(p==2) { printf("YES\n"); continue; } if(p==3) { printf("NO\n"); continue; } for(i=2;i<=sqrt(p);i++) { if(p%i==0) { o=i; break; } } for(i=2;i<=sqrt(o);i++) { if(o%i==0) { r=3; break; } } if(r==0) { printf("YES\n"); } else { printf("NO\n"); } } return 0; }
最新回复(0)