Cod sursa(job #2057646)

Utilizator danielsociuSociu Daniel danielsociu Data 4 noiembrie 2017 16:14:20
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
#define maxim(a,b) ((a>b)?a:b)
ifstream inf("euclid3.in");
ofstream oinf("euclid3.out");

long extendedEuclid(long a,long b,long &x, long &y){
    if(b==0){
        x=1;
        y=0;
        return a;
    }else {
        long x0,y0,d;
        d = extendedEuclid(b,a%b,x0,y0);
        x=y0;
        y=x0-(a/b)*y0;
        return d;
    }
}

int main()
{
    long a,b,z,d,n,x,y;
    inf>>n;
    for(int i=1;i<=n;i++){
        inf>>a>>b>>z;
        d=extendedEuclid(a,b,x,y);
        if(z%d==0)
            oinf<<x*(z/d)<<" "<<y*(z/d)<<"\n";
        else
            oinf<<0<<" "<<0<<"\n";
    }
    return 0;
}