Cod sursa(job #1892701)

Utilizator Aquaryus0Alexandru Benchea Aquaryus0 Data 25 februarie 2017 11:03:34
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <cstdio>

using namespace std;

int cmmdc(int x, int y)
{
    if(y==0)
        return x;
    cmmdc(y, x % y);
}

void euclid_extins (int x, int y, int &k, int &l)
{
    if(y==0)
    {
        k = 1;
        l = 0;
    }
    else
    {
        int k0,l0;
        euclid_extins(y,x%y,k0,l0);
        k=l0;
        l=k0-l0*(x/y);
    }
}

void read(int &t, int &x, int&y, int c)
{
    scanf("%d", &t);
    for(int i=0; i<t; i++)
    {
        scanf("%d %d %d", &x, &y, &c);
        int k, l;
        int d = cmmdc(x,y);
        euclid_extins (x, y, k, l);

        if(c%d)
            cout<<"0 0"<<endl;
        else
            cout<<l*(c/d)<<" "<<k*(c/d)<<endl;


    }
}

int main()
{
    freopen("euclid3.in", "r", stdin);
    freopen("euclid3.in", "r", stdin);
    int t, x, y, c;
    read(t,x,y, c);
}