小羊杯 J

冷酷的数

https://ac.nowcoder.com/acm/contest/100672/J

用欧拉筛筛出 2e5 范围内的所有质数,再遍历质数数组判断是否满足题目要求即可

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int pr[N],minp[N],vis[N];
int cnt=0;
void ol(int x)
{
    for(int i=2;i<=x;i++)
    {
        if(!vis[i])
        {
            pr[cnt++]=i;
            minp[i]=i;
        }
        for(int j=0;j<cnt;j++)
        {
            if(pr[j]*i>x) break;
            vis[pr[j]*i]=1;
            minp[pr[j]*i]=pr[j];
            if(i%pr[j]==0) break;
        }
    }
}
int main(){
    int t; cin>>t;
    ol(N-10);
    while(t--){
        int x,y; cin>>x>>y;
        int l=min(x,y),r=max(x,y);
        int ans=-1;
        
        for(int i=0;i<=cnt;i++){
            int xx=gcd(x,pr[i]),yy=gcd(y,pr[i]);
            if(pr[i]>r) break;
            if(xx==1&&yy==1){
                ans=pr[i];
                break;
            }
        }
        cout<<ans<<endl;
    }
}
全部评论

相关推荐

09-26 10:17
安徽大学 Java
点赞 评论 收藏
分享
09-24 17:30
门头沟学院 Java
叁六玖:上个班还要,七连面,唐三成神都只有九考呢,这公司怕不是要招个半神
我的秋招日记
点赞 评论 收藏
分享
用微笑面对困难:不是你千万别小看这家公司,他们的预估市值成倍上涨,三次在报告看见这个公司了,总之如果是给股权的话可以试试,未来没准真能发家致富哈哈哈哈
点赞 评论 收藏
分享
09-24 11:06
辽宁大学 市场
深莞高速因为台风都封掉了,华为协商后,特地开通华为通道,凭工卡可以正常通勤......
崔喃喃:“台风您好,19级专家已驳回了您18级台风的OA登陆申请”
投递华为技术有限公司等公司10个岗位
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务