Cod sursa(job #2128960)

Utilizator alex90001alex ilioi alex90001 Data 12 februarie 2018 12:40:06
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");

int euclid(int a,int b,int *x,int *y)
{
    if(b == 0)
    {
        *x = 1;
        *y = 0;
        return a;
    }

    int x0,y0,d;
    d = euclid(b,a%b,&x0,&y0);
    *x = y0;
    *y = x0 - (a/b)*y0;
    return d;
}

int main()
{
    int a,b,c,x,y,d,n,i;
    f>>n;
    for(i = 1;i <= n;i++)
    {
        int x,y,d;
        f>>a>>b>>c;
        d = euclid(a,b,&x,&y);
        if(c%d != 0)
        {
            x = 0;
            y = 0;
        }
        else
        {

        x = x * (c/d);
        y = y * (c/d);
        }
        g<<x<<" "<<y<<"\n";
    }

    return 0;
}