扩展的欧几里得算法
求解形如ax+by=gcd(a,b)的一组解。
#include<bits/stdc++.h>//ax+by=gcd(a,b) x=? y=? using namespace std; int extend_gcd(int a,int b,int &x,int &y){ int ret,tmp; if(!b){ x=1; y=0; return a; } ret=extend_gcd(b,a%b,x,y); tmp=x; x=y; y=tmp-a/b*y; return ret; } int main(){ int a,b,x,y,z; cin>>a>>b; z=extend_gcd(a,b,x,y); cout<<x<<""<<y<<""<<z; return 0; }