码迷,mamicode.com
首页 > 其他好文 > 详细

extended_gcd(扩展欧几里德算法) 青蛙的约会

时间:2014-08-07 09:43:09      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   div   算法   amp   

#include <stdio.h>
#include <math.h>
long long gcd(long long x,long long y)
{
    if(y==0)
    {
        return x;
    }
    return gcd(y,x%y);
}
void extended_gcd(long long a,long long b,long long &x,long long &y)
{
    long long t;
    if(b==0)
    {
        x = 1;
        y = 0;
        return;
    }
    extended_gcd(b,a%b,x,y);
    t=x;
    x = y;
    y = t- a/b*y;
    return;
}

int main( )
{
    long long x, y, m, n, l;
    long long a,b,c,d,p,q;
    long long t;
    while(scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l)!= EOF )
    {
        a= n-m;
        b=l;
        c= x-y;
        d= gcd(a,b);
        if(c%d!=0)
        {
            puts( "Impossible" );
            continue;
        }
        a/= d,b/= d,c/= d;
        extended_gcd(a,b,p,q);
        p*= c;
        t= p%b;
        while(t<0)
        {
            t+= b;
        }
        printf("%lld\n",t);
    }
    return 0;
}

 

extended_gcd(扩展欧几里德算法) 青蛙的约会,布布扣,bubuko.com

extended_gcd(扩展欧几里德算法) 青蛙的约会

标签:style   blog   color   os   io   div   算法   amp   

原文地址:http://www.cnblogs.com/yangyongqian/p/3896286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!