用扩展的欧几里德算法求最大公约数以及逆元

#include
void exgcd(int d,int f)
{
int x1,x2,x3,y1,y2,y3,q,t1,t2,t3;
x1=1; x2=0; x3=f;
y1=0; y2=1; y3=d;
while(y3>0)
{
q=x3/y3;
t1=x1-q*y1;
t2=x2-q*y2;
t3=x3-q*y3;
x1=y1;
x2=y2;
x3=y3;
y1=t1;
y2=t2;
y3=t3;
【用扩展的欧几里德算法求最大公约数以及逆元】if(y3==1)
{
printf("%d和%d互素 逆元是%d/n/n",d,f,y2);
break;
}
}
if(y3==0)
{
printf("%d和%d无逆元,他们的最大公约数是%d/n/n",d,f,x3);
}
}
void main()
{
int a,b;
printf("/n用扩展的欧几里德算法求最大公约数以及逆元/n");
printf("/n请输入两个整数:/n");
scanf("%d %d",&a,&b);
exgcd(a,b);
}

    推荐阅读