扩展欧几里得

Posted culion-bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩展欧几里得相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <vector>
#include <list>
#include <map>
#include <queue>
#include <set>
using namespace std;

int exGcd(int a,int b,int *x,int *y)
{
    if(b==0)
    {
        *x=1;*y=0;
        return a;
    }
    int r=exGcd(b,a%b,x,y);
    int t=*x;*x=*y;*y=t-a/b*(*y);
    return r;
}

int main(){
    int a,b,x,y;
    cin>>a>>b;
    cout<<exGcd(a,b,&x,&y)<<endl;
    cout<<x<<" "<<y<<endl;
}

 

以上是关于扩展欧几里得的主要内容,如果未能解决你的问题,请参考以下文章

扩展欧几里得算法

欧几里得算法和扩展欧几里得算法

POJ 1061 青蛙的约会 扩展欧几里得

poj2115 C Looooops——扩展欧几里得

扩展欧几里得算法的模板实现

不定方程与扩展欧几里得