Cod sursa(job #2907739)

Utilizator un_fes_galbendaniel guba un_fes_galben Data 31 mai 2022 15:29:12
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
using namespace std;
void euclid(long long a,long long b,long long & x ,long long & y){
    if(b==0){
        x=1;y=0;
    }
    else{
        long long x1,y1;
        euclid(b,a%b,x1,y1);
        x=y1;y=x1-a/b*y1;
    }
}
int main()
{
    ifstream fin("euclid3.in");
    ofstream fout("euclid3.out");
    int t;long long a,b,c,cmmdc,ca,cb,cc,sol1,sol2,val;fin>>t;
    for(int i=1;i<=t;i++){
        fin>>a>>b>>c;
        ca=a;cb=b;
        while(cb!=0){
            cc=ca%cb;
            ca=cb;
            cb=cc;
        }sol1=sol2=0;cmmdc=ca;
        euclid(a,b,sol1,sol2);
        if(c%cmmdc==0){
            val=c/cmmdc;
            sol1*=val;sol2*=val;
            fout<<sol1<<" "<<sol2<<'\n';
        }
        else{fout<<"0 0"<<'\n';}
    }
    return 0;
}