Cod sursa(job #1094269)
Utilizator | Data | 29 ianuarie 2014 09:47:16 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include<cstdio>
using namespace std;
int N,a,b,c,d,x,y;
inline void Euclid(int a,int b,int &D,int &X,int &Y)
{
if (!b) D=a,X=1,Y=0;
else
{
int x,y;
Euclid(b,a%b,D,x,y);
X=y;
Y=x-(a/b)*y;
}
}
int main()
{
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
scanf("%d",&N);
for (int i=1;i<=N;++i)
{
scanf("%d%d%d",&a,&b,&c);
Euclid(a,b,d,x,y);
if (c%d!=0) printf("0 0\n");
else printf("%d %d\n",x*(c/d),y*(c/d));
}
fclose(stdin);
fclose(stdout);
return 0;
}