Cod sursa(job #3244252)
| Utilizator | Data | 24 septembrie 2024 11:58:09 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid extins | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream cin("euclid3.in");
ofstream cout("euclid3.out");
struct sol{int x, y, d;};
sol euc_ext(int a, int b)
{
if(b==0)
return {1, 0, a};
sol s=euc_ext(b, a%b);
return {s.y, s.x-a/b*s.y, s.d};
}
int main()
{
int t, a, b, c;
cin>>t;
while(t--)
{
cin>>a>>b>>c;
sol s=euc_ext(a, b);
if(c%s.d!=0)
cout<<"0 0\n";
else
cout<<c/s.d*s.x<<" "<<c/s.d*s.y<<'\n';
}
return 0;
}