Cod sursa(job #2676581)

Utilizator andreibazavanAndrei Bazavan andreibazavan Data 24 noiembrie 2020 17:05:57
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
int T,a0,b0,c0;
int cmmdc(int a,int b)
{
    if(!b)return a;
    else return cmmdc(b,a%b);
}
void euclid(int a,int b,int &x,int &y)
{
 if(!b){x=1;y=0;}
 else
 {
    int x0,y0;
    euclid(b,a%b,x0,y0);
    x=y0;
    y=x0-(a/b)*y0;
 }
}
int main()
{
    fin>>T;
    for(;T;T--)
    {
        fin>>a0>>b0>>c0;
        int d=cmmdc(a0,b0);
        if(c0%d==0)
        {int x1,y1;
            euclid(a0,b0,x1,y1);
            fout << x1*(c0/d)<<" "<<y1*(c0/d) << '\n';
        }
        else fout << "0 0"<< '\n';
    }
    return 0;
}