uva10104
来源:互联网 发布:手机时间不与网络同步 编辑:程序博客网 时间:2024/05/22 10:37
//今天又学了好多东西,呵呵//已知A,B//求X,Y使得AX+BY=gcd(A,B)//使|X|+|Y|最小//用扩展欧几里得:#include<stdio.h>int extend_gcd(int a,int b,int &x,int &y){ if(b==0) { x=1;y=0; return a; } int ans=extend_gcd(b,a%b,y,x); y-=(a/b)*x; return ans;}int main(){ int a,b,ans,x,y; while(scanf("%d%d",&a,&b)!=EOF) { ans=extend_gcd(a,b,x,y); printf("%d %d %d\n",x,y,ans); } return 0;}