Pagini recente » Cod sursa (job #3271337) | Cod sursa (job #3213152) | Cod sursa (job #2177261) | Cod sursa (job #3281890) | Cod sursa (job #143396)
Cod sursa(job #143396)
#include<stdio.h>
#include<assert.h>
FILE *f,*g;
long int ec(long int a, long int b,long int&x, long int&y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
long int x0,y0,d;
d=ec(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
return d;
}
int main()
{
f=fopen("euclid3.in","r");
g=fopen("euclid3.out","w");
int t;
long a,b,c,d,x,y;
for(fscanf(f,"%d",&t),assert(t<=100);t;t--)
{
fscanf(f,"%ld %ld %ld\n",&a,&b,&c);
assert(-1000000000<=a && a<=1000000000);
assert(-1000000000<=b && b<=1000000000);
assert(-2000000000<=c && c<=2000000000 && c!=0);
d=ec(a,b,x,y);
if(c%d)
fprintf(g,"0 0\n");
else
fprintf(g,"%ld %ld\n",x*(c/d),y*(c/d));
}
fcloseall();
return 0;
}