Cod sursa(job #395445)
Utilizator | Data | 13 februarie 2010 09:53:37 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include<stdio.h>
void eu( int x,int y,int &a,int &b,int &d)
{
if(y==0)
{
a=1;
b=0;
d=x;
return;
}
int a1,b1;
eu(y,x%y,a1,b1,d);
a=b1;
b=a1-b1*(x/y);// ( x/y ) e parte intreaga din x/y
}
int main()
{
int a,b,c,t,x,y,z;
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
scanf("%d",&t);
while(t--)
{
x=0;y=0;z=0;
scanf("%d%d%d",&a,&b,&c);
eu(a,b,x,y,z);
if(c%z)
printf("0 0\n");
else
{
printf("%d ",x*(c/z));
printf("%d\n",y*(c/z));
}
}
return 0;
}