Cod sursa(job #3136398)
Utilizator | Data | 6 iunie 2023 10:16:16 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.73 kb |
#include <stdio.h>
int euclid(int a,int b,int *x,int *y)
{
if (b == 0) {
*x=1;
*y=0;
return a;
} else {
int xx, yy,d;
d=euclid(b,a%b,&xx,&yy);
*x=yy;
*y=xx-(a/b)*yy;
return d;
}
}
int main(void)
{
int n,a,b,c,x,y;
FILE * f1=fopen("euclid3.in","r");
FILE * f2=fopen("euclid3.out","w");
fscanf(f1,"%d",&n);
for(int i=0;i<n;i++)
{
fscanf(f1,"%d%d%d",&a,&b,&c);
int d=euclid(a,b,&x,&y);
if(c%d!=0)
{
fprintf(f2," 0 0 \n");
}
else
{
fprintf(f2," %d %d \n",x*(c/d), y*(c/d));
}
}
return 0;
}