Cod sursa(job #208441)
Utilizator | Data | 16 septembrie 2008 13:56:29 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
void euclid(int a, int b, int &x, int &y, int &d)
{
int x1, y1;
if ( b == 0)
{
x = 1;
y = 0;
d = a;
return ;
}
euclid(b, a%b, x1, y1, d);
x = y1;
y = x1 - (a/b)* y1;
}
int main()
{
int a, b, c, t;
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
scanf("%d", &t);
for(; t>0; --t)
{
int d= 0,x= 0,y = 0;
scanf("%d %d %d", &a, &b, &c);
euclid(a, b, d, x, y);
printf("%d %d\n",x*(c/d),y*(c/d));
}
return 0;
}