Cod sursa(job #2602143)

Utilizator sulzandreiandrei sulzandrei Data 15 aprilie 2020 22:52:28
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <unordered_set>
#include <vector>
#include <fstream>
using namespace std;

ifstream in("euclid3.in");
ofstream out("euclid3.out");

int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);}


int egcd(int a, int b,  int &x, int &y){
    if(b==0){
        x=1;
        y=0;
        return a;
    }
    int x1,y1;
    int d = egcd(b,a%b,x1,y1);
    x = y1;
    y= x1 - (a/b)*y1;
    return d;
}

int main(){

   int n,t,a,b,c,x,y;
   in>>t;
   while(t--){
        in>>a>>b>>c;
        int d = egcd(a,b,x,y);
        if(c%d!=0){
            out<<"0 0 \n";
        }else {
            x*=c/d;
            y *=c/d;
            out<<x<<" "<<y<<'\n';
        }
   }
   return 0;
}