Pagini recente » Cod sursa (job #2242359) | Cod sursa (job #2315533) | Soluţii ONIS 2016, Runda 2 | Cod sursa (job #1027696) | Cod sursa (job #1742992)
#include <assert.h>
#include <stdio.h>
int euclidextins(int A,int B,int *x,int *y)
{
if (B == 0)
{
*x = 1;
*y = 0;
return A;
}
else{
int xx, yy, D;
D = euclidextins( B, A % B, &xx, &yy );
*x = yy;
*y = xx - (A / B) * yy;
return D;
}
}
int main()
{
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
int T;
scanf("%d",&T);
while (T>0)
{
int D,x,y;
int A,B,C;
scanf("%d %d %d",&A,&B,&C);
D=euclidextins(A,B,&x,&y);
printf("%d",D);
if (C%D !=0)
printf("0 0\n");
else
printf("%d %d\n",x*(C/D),y*(C/D));
T--;
}
return(0);
}