Cod sursa(job #834548)
Utilizator | Data | 14 decembrie 2012 17:35:46 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <stdio.h>
void euclid (int a, int b, int *d, int *x, int *y)
{
if (!b)
{
*d = a;
*x = 1;
*y = 0;
return;
}
int xn, yn;
euclid (b, a%b, d, &xn, &yn);
*x = yn;
*y = xn - a/b * yn;
}
int main()
{
int a,b,c,d,x,y, T;
freopen("euclid3.in", "r", stdin);
freopen("euclid3.out", "w", stdout);
scanf("%i", &T);
for (int i=0; i<T; i++)
{
scanf ("%i%i%i", &a, &b, &c);
euclid(a,b,&d, &x, &y);
if (c%d != 0)
printf("%i %i\n", 0, 0);
else
printf("%i %i\n", (c/d)*x, (c/d)*y);
}
}