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;}

原创粉丝点击