Cod sursa(job #1482684)
Utilizator | Data | 7 septembrie 2015 18:29:36 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<stdio.h>
int euclidextins(int a,int b,int &x,int &y)
{
if(b)
{
int x0,y0,d;
d=euclidextins(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
return d;
}
else
{
x=1;
y=0;
return a;
}
}
int main()
{
FILE* f1,*f2;
f1=fopen("euclid3.in","r");
f2=fopen("euclid3.out","w");
int T;
fscanf(f1,"%d",&T);
for(int i=0;i<T;i++)
{
int a,b,c,d,x,y;
fscanf(f1,"%d %d %d",&a,&b,&c);
d=euclidextins(a,b,x,y);
if(c%d==0)
fprintf(f2,"%d %d\n",x*(c/d),y*(c/d));
else fprintf(f2,"0 0\n");
}
return 0;
}