Cod sursa(job #2455138)

Utilizator andreisophieMMAndrei Maruntis andreisophieMM Data 10 septembrie 2019 20:40:10
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

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

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

void Diofantic(long long int a, long long int b, long long int c)
{
    long long int d,x0,y0;
    cmmdcE(a,b,d,x0,y0);
    if (c%d==0)
        g<<x0*c/d<<' '<<y0*c/d<<'\n';
    else
        g<<"0 0\n";
}

int main()
{
    long long int n,a,b,c;
    f>>n;
    for (int i=0;i<n;i++)
    {
        f>>a>>b>>c;
        Diofantic(a,b,c);
    }
    return 0;
}