Cod sursa(job #1963976)
Utilizator | Data | 12 aprilie 2017 22:50:37 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <fstream>
std::ifstream f("euclid3.in");
std::ofstream g("euclid3.out");
int x,y,xx,yy,d,e,t;
int E(int a,int b,int &x,int &y){
if (b==0){x=1,y=0; return a;}
int xx,yy,d=E(b,a%b,xx,yy);
y=xx-(a/b)*(x=yy);return d;}
int main(){
for(f>>t;t--;){
f>>x>>y>>d,xx=0,yy=0,e=E(x,y,xx,yy);
if(d%e)g<<"0 0\n";
else g<<(xx*d)/e<<' '<<(yy*d)/e<<'\n';}}