Pagini recente » Cod sursa (job #1301012) | Cod sursa (job #2196242) | Cod sursa (job #367262) | Cod sursa (job #1496374) | Cod sursa (job #3134909)
#include <stdio.h>
#include <stdlib.h>
void euclid(int a, int b, int *d, int *x, int *y)
{
if (b == 0)
{
*d = a;
*x = 1;
*y = 0;
}
else
{
int x0, y0;
euclid(b, a % b, d, &x0, &y0);
*x = y0;
*y = x0 - (a / b) * y0;
}
}
int main(void)
{
int a,b,c,t;
int d,x,y;
FILE *fin;
FILE *fout;
if((fin = fopen("euclid3.in","r"))==NULL)
{
printf("Eroare deschidere fisier\n");
exit(-1);
}
if((fout = fopen("euclid3.out","w"))==NULL)
{
printf("Eroare deschidere fisier\n");
exit(-1);
}
fscanf(fin,"%d", &t);
while(t>0)
{
fscanf(fin,"%d %d %d", &a, &b, &c);
euclid(a,b,&d,&x,&y);
if(c%d!=0)
{
fprintf(fout,"0 0\n");
}
else
{
fprintf(fout,"%d %d\n", x*(c/d),y*(c/d));
}
t--;
}
fclose(fin);
fclose(fout);
return 0;
}