Pagini recente » Cod sursa (job #3320839) | Cod sursa (job #2801757) | Cod sursa (job #2573350) | Cod sursa (job #2853755) | Cod sursa (job #3357241)
#include <stdio.h>
void euclid(long long a,long long b,long long *d,long long *x,long long *y)
{
if(b==0)
{
*d=a;
*x=1;
*y=0;
return;
}
else
{
long long x0,y0;
euclid(b,a%b,d,&x0,&y0);
*x=y0;
*y=x0-(a/b)*y0;
}
}
int main()
{
FILE *file=fopen("euclid3.in","r");
FILE *output=fopen("euclid3.out","w");
if (file == NULL)
{
fprintf(stderr, "Eroare deschidere fisier intrare.\n");
return 1;
}
if (output == NULL)
{
fprintf(stderr, "Eroare deschidere fisier iesire.\n");
fclose(file);
return 1;
}
long long a,b,x,y,c,d;
int t;
fscanf(file,"%d",&t);
for(int i=0;i<t;i++)
{
fscanf(file,"%lld %lld %lld", &a, &b, &c);
euclid(a,b,&d,&x,&y);
if(c%d!=0)
{
fprintf(output,"0 0\n");
}
else
{
long long f=c/d;
long long x1=x*f;
long long y1=y*f;
fprintf(output,"%lld %lld\n",x1,y1);
}
}
fclose(file);
fclose(output);
return 0;
}