Pagini recente » Cod sursa (job #143340) | Altfel de copăcei... Arbori indexaţi binar | Monitorul de evaluare | Cod sursa (job #223732) | Cod sursa (job #144003)
Cod sursa(job #144003)
#include<stdio.h>
long int a[20],b[20],c,x[20],y[20],i,t,nt,sa,sb,n;
int main()
{
FILE *f,*g;f=fopen("euclid3.in","r");g=fopen("euclid3.out","w");
fscanf(f,"%ld",&t);
for(nt=1;nt<=t;nt++)
{ fscanf(f,"%ld%ld%ld",&a[1],&b[1],&c);
if(c<0){a[1]=-a[1];b[1]=-b[1];c=-c;}
sa=(a[1]>=0)?1:(-1);a[1]*=sa;sb=(b[1]>=0)?1:(-1);b[1]*=sb;
i=1;
while(b[i]){a[i+1]=b[i];b[i+1]=a[i]%b[i];i++;}
n=i;
if(c%a[n]){x[1]=0;y[1]=0;}
else
{ x[n]=c/a[n];y[n]=0;
for(i=n-1;i>=1;i--)
{ x[i]=y[i+1];y[i]=x[i+1]-(a[i]/b[i])*y[i+1];}
}
x[1]*=sa;y[1]*=sb;
fprintf(g,"%ld %ld\n",x[1],y[1]);
}
fcloseall();
return 0;
}