Cod sursa(job #1075300)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 8 ianuarie 2014 20:29:07
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

void gg(int a,int b,int &x,int &y,int &gcd)
{
    if(b==0)
    {
        x=1;
        y=0;
        gcd = a;
        return;
    }
    gg(b,a%b,x,y,gcd);
    x=y;
    y=(gcd-a*1ll*x)/b;
}

int main()
{
    int t,a,b,c;
    ifstream f("euclid3.in");
    ofstream g("euclid3.out");

    f>>t;
    for(;t--;)
    {
        int x,y,gcd=0,ics;
        f>>a>>b>>c;
        gg(a,b,x,y,gcd);
        ics = c / gcd;
        if(ics*1ll*x*a + ics*1ll*y*b==c)
            g<< ics*x <<" "<< ics*y<<"\n";
        else
            g<<"0 0\n";
    }
    return 0;
}