Cod sursa(job #324813)
| Utilizator | Data | 17 iunie 2009 14:59:18 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid extins | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include<stdio.h>
long a,b,c,t,u1,u2,u3,v1,v2,v3,r1,r2,r3,q,kiki;
void euclid()
{
scanf("%ld%ld%ld",&a,&b,&c);
u3=a,v3=b;
u1=v2=1;
while(v3)
{
q=u3/v3;
r1=u1-(q*v1);
r2=u2-(q*v2);
r3=u3-(q*v3);
u1=v1;u2=v2;u3=v3;
v1=r1;v2=r2;v3=r3;
}
if(c%u3==0)
{
t=c/u3;
u1*=t;u2*=t;
printf("%ld %ld\n",u1,u2);
}
else printf("0 0\n");
}
int main()
{
int i;
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
scanf("%ld",&kiki);
for(i=1;i<=kiki;++i)
euclid();
return 0;
}