Cod sursa(job #2884209)

Utilizator iulianarsenoiuArsenoiu Iulian iulianarsenoiu Data 2 aprilie 2022 16:44:25
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

int euclid_extins(int a, int b, int &x, int &y)
{
    if(a==0)
    {
        x = 0;
        y = 1;
        return b;
    }
    int x1,y1;
    int d = euclid_extins(b%a,a,x1,y1);
    x = y1 - (b / a) * x1;
    y = x1;
    return d;
}

void solve_test()
{
    int a,b,c;
    f>>a>>b>>c;
    int x,y;
    int d = euclid_extins(a,b,x,y);
    if(c%d!=0)
    {
        g<<"0 0"<<'\n';
        return;
    }
    x *= (c / d);
    y *= (c / d);
    g<<x<<' '<<y<<'\n';
}

int main()
{
    int t;
    f>>t;
    for(int test=1; test<=t; test++)
    {
        solve_test();
    }
    return 0;
}