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

扩张欧几里得

时间:2014-08-07 18:45:40      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   div   amp   log   

#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#define ll long long

using namespace std;

ll ext_gcd(ll a, ll b, ll &p, ll &q)
{
    ll t, r;

    if(!b){
        p = 1;
        q = 0;
        return a;
    }
    r = ext_gcd(b,a%b,p,q);
    t = p;
    p = q;
    q = t -(a/b)*q;
    return r;
}

int main()
{
    ll x, y, n, m, l;
    ll t, a, b, d, r, c;
    ll p, q;

    scanf("%lld %lld %lld %lld %lld",&x,&y,&n,&m,&l);
    a = n-m;
    c = y-x;
    b = l;
    d = ext_gcd(a,b,p,q);
    if(c%d != 0)
        printf("Impossible");
    else {
        p = p*(c/d);
        p = (p%b+b)%b;
        printf("%lld\n",p);
    }
    return 0;
}

 

扩张欧几里得,布布扣,bubuko.com

扩张欧几里得

标签:style   blog   color   os   io   div   amp   log   

原文地址:http://www.cnblogs.com/Yan-C/p/3897657.html

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