Cod sursa(job #2974462)
Utilizator | Data | 4 februarie 2023 09:41:16 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <iostream>
#include <fstream>
#define ll long long
using namespace std;
ifstream in("euclid3.in");
ofstream out("euclid3.out");
ll euclid(ll a,ll b,ll &x,ll &y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
ll x0,y0;
ll d = euclid(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
return d;
}
ll t,a,b,c;
int main()
{
in>>t;
for(int i=1;i<=t;i++)
{
in>>a>>b>>c;
ll x = 0, y = 0;
ll d = euclid(a,b,x,y);
if(c%d!=0)
{
out<<"0 0\n";
}
else
out<<x*c/d<<" "<<y*c/d<<"\n";
}
return 0;
}