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;
}



原文地址:https://www.cnblogs.com/hsqdboke/p/2439802.html