HDU 2669 Romantic

此题为扩展欧几里得算法,代码如下:

#include<iostream>

using namespace std;

int EE(int a,int b,int& x,int& y)

{

    if(b==0)

    {

    x=1;

    y=0;

    return a;

    }

    int r=EE(b,a%b,x,y);

    int temp=x;

    x=y;

    y=temp-a/b*y;

    return r;

}

int main()

{

    int a,b,x,y,gcd;

    while(scanf("%d%d",&a,&b)!=EOF)

    {

        gcd=EE(a,b,x,y); //gcd为最大公约数

        if(gcd==1)

        {

            while(x<0)

            {

                x=x+b/1;

                y=y-a/1;

            }

            cout<<x<<' '<<y<<endl;

        }

        else

        cout<<"sorry"<<endl;

    }

        

    return 0;

}



你可能感兴趣的:(ant)