Cod sursa(job #2376612)
Utilizator | Tudor Cristian Finaru TudorFinaru | Data | 8 martie 2019 16:44:11 |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
long long a,b,c,d,x,y;
void euclid_e(long long &x, long long &y, long long a, long long b, long long &d)
{
if(!b) { x=1;y=0;d=a;}
else {
long long x0,y0;
euclid_e(x0,y0,b,a%b,d);
x=y0;
y=x0-a/b*y0;
}
}
int main()
{
int t,ind;
f>>t;
for(ind=1;ind<=t;ind++)
{
f>>a>>b>>c;
euclid_e(x,y,a,b,d);
if(c%d!=0) g<<"0 0"<<'\n';
else g<<x*c/d<<' '<<y*c/d<<'\n';
}
return 0;
}