cf 75c Modified GCD

来源:互联网 发布:网络追逃能坐火车吗 编辑:程序博客网 时间:2024/05/16 10:21
#include <iostream>#include <cstdio>using namespace std;int gcd(int a,int b){    int t;    if(a<b)    {        t=a;a=b;b=t;    }    while(t=a%b)    {        a=b;        b=t;    }    return b;}int main(){    int a,b,x,y,n,c,d;    scanf("%d%d",&x,&y);    scanf("%d",&n);    int tmp=gcd(x,y);    bool flag;    int ans;    while(n--)    {        flag=false;        scanf("%d%d",&a,&b);        c=tmp/a;d=(tmp-1)/b+1;        if(b-a<d-c)        {            for(int i=b;i>=a;i--)            {                if(tmp%i==0)                {                    ans=i;                    flag=true;                    break;                }            }        }        else        {            for(int i=d;i<=c;i++)            {                if(tmp%i==0)                {                    ans=tmp/i;                    flag=true;                    break;                }            }        }        if(flag)            printf("%d\n",ans);        else            printf("-1\n");    }}

0 0
原创粉丝点击