1 条题解

  • 0
    @ 2026-1-6 17:35:39

    简单!

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    int x,y,q,a,b,c[10000005],t1;
    signed main(){
    	cin>>x>>y>>q;
        for(int i=2;i<=sqrt(x);i++){
            if(x%i==0){
                if(y%i==0)c[++t1]=i;
                if(y%(x/i)==0)c[++t1]=x/i;
            }
        }
        sort(c+1,c+1+t1,greater<int>());
    	while(q--){
            cin>>a>>b;
            int f=0;
            for(int i=1;i<=t1;i++){
                if(c[i]>=a&&c[i]<=b){
                    cout<<c[i]<<"\n";
                    f=1;
                    break;
                }
            if(c[i]<a)break;
            }
            if(f==0)cout<<"-1"<<"\n";
        }
    	return 0;
    }
    
    

    信息

    ID
    2400
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    (无)
    递交数
    169
    已通过
    43
    上传者