Cod sursa(job #2562878)
Utilizator | Danut Aldea DanutAldea | Data | 29 februarie 2020 19:13:45 |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
long long t,i,j,x,y,k,d;
long long gcd(long long a, long long b, long long &x, long long &y){
if(b==0){
x=1;
y=0;
return a;
}else{
long long xa,ya;
long long d=gcd(b,a%b,xa,ya);
x=ya;
y=xa-a/b*ya;
return d;
}
}
int main(){
for(fin>>t;t;t--){
fin>>i>>j>>k;
d=gcd(i,j,x,y);
if(k%d!=0)
fout<<"0 0\n";
else
fout<<x*k/d<<" "<<y*k/d<<"\n";
}
return 0;
}