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

7C-扩展欧几里德解线性方程

时间:2014-08-26 13:13:16      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   ar   div   log   amp   

Ax+By+C=0,给你A,B,C求x,y

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long INF = 5 * 1e18;

void gcd(long long a, long long b, long long& d,long long& x, long long& y)
{
    if(!b) {d = a; x = 1; y = 0;}
    else
    {
        gcd(b, a % b, d, y, x);
        y -= x * (a / b);
    }
}

int main(int argc, char *argv[])
{
    long long a, b, c, d, x, y;
    cin >> a >> b >> c;
    gcd(a, b, d, x, y);
    if(c % d != 0)
        puts("-1");
    else
        cout << -x * (c / d) << " " << -y * (c / d) << endl;
    return 0;
}

 

7C-扩展欧几里德解线性方程

标签:style   blog   color   os   io   ar   div   log   amp   

原文地址:http://www.cnblogs.com/Susake/p/3936860.html

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