拓展GCD POJ1061(洛谷P1516)  青蛙的约会

题目地址:点击打开链接

#include
#include
#include
#include
#include
#include
using namespace std;
long long x,y,c;
long long  exgcd(long long a,long long b)
{
    if(!b){
        x=1;
        y=0;
        c=a;
    }
    else{
        exgcd(b,a%b);
        long long tmp=x;
        x=y;
        y=tmp-a/b*y;
    }
}
long long a,b,d,x1,y1,m,n,l;
int main()
{


    cin >> x1 >>y1>>m>>n>>l;
        a=n-m;
        b=l;
        d=x1-y1;
        if(d<0)//一定要记得处理负数,不然70分
        {
        a=-a;
        d=-d;
}
        exgcd(a,b);
     if(d%c)
        cout << "Impossible" << endl;
    else{
        b/=c;
        d/=c;
        cout << ((x*d)%b+b)%b <    }
}

你可能感兴趣的:(C++,GCD)