Cod sursa(job #1138612)
Utilizator | Data | 10 martie 2014 12:35:25 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <cstdio>
#define tip long
using namespace std;
tip x,y,t,d,a,b,aux,cmmdc;
void euclid(tip a, tip b)
{
if(b==0){
x=1;y=0;
if(d%a!=0){x=0;}
cmmdc=a;
return;
}
tip c=a/b;
euclid(b,a%b);
aux=y;y=x-c*aux;x=aux;
}
int main()
{
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
scanf("%ld",&t);
while(t){
t--;
scanf("%ld%ld%ld",&a,&b,&d);
euclid(a,b);
cmmdc=d/cmmdc;
printf("%ld %ld\n",x*cmmdc,y*cmmdc);
}
return 0;
}