Cod sursa(job #208609)
Utilizator | Data | 17 septembrie 2008 12:30:44 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
void euclid(int a, int b, int &d, int &x, int &y)
{
if (b == 0)
{
x = 1;
y = 0;
d = a;
return;
}
int x1, y1;
euclid(b, a%b, d, x1, y1);
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);
//d2 = euclid2(a,b);
euclid(a, b, d, x, y);
if (c%d == 0)
printf("%d %d\n",x*(c\d),y*(c\d));
else
printf("0 0\n");
}
return 0;
}