Cod sursa(job #1194765)

Utilizator mariusn01Marius Nicoli mariusn01 Data 4 iunie 2014 19:13:30
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;

long long a, b, c, t, x, y, d;

long long cmmdc(long long a, long long b, long long &x, long long &y) {
    if (b == 0) {
        x = 1;
        y = 0;
        return a;
    } else {
        long long xa, ya;
        long long r = cmmdc(b, a%b, xa, ya);
        x = ya;
        y = xa - ya*(a/b);
        return r;
    }
}

int main() {
    ifstream fin("euclid3.in");
    ofstream fout("euclid3.out");

    fin>>t;
    for (;t--;) {
        fin>>a>>b>>c;
        long long d = cmmdc(a, b, x, y);
        if (c%d != 0) {
            fout<<"0 0\n";
        } else {
            fout<<c/d*x<<" "<<c/d*y<<"\n";
        }
    }

    return 0;
}