Cod sursa(job #1554350)
Utilizator | Data | 21 decembrie 2015 12:08:09 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <cstdio>
using namespace std;
void euclidex(int a,int b,int &k,int &l,int &d){
if(b==0){
l=1;k=0;d=a;
return;}
int k1,l1,d1;
euclidex(b,a%b,l1,k1,d1);
l=k1;
d=d1;
k=l1-(a/b)*k1;}
int main()
{ int a,b,c,t,r,x,y,k,d,l;
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
scanf("%d\n",&t);
for(int i=1;i<=t;i++){
scanf("%d %d %d\n",&a,&b,&c);
euclidex(a,b,k,l,d);
if(c%d==0){
c=d*(c/d);
x=l*(c/d);
y=k*(c/d);}
else{
x=0;
y=0;
}
printf("%d %d\n",x,y);
}
return 0;
}