Cod sursa(job #2847306)

Utilizator iulianarsenoiuArsenoiu Iulian iulianarsenoiu Data 10 februarie 2022 16:35:17
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
#define int long long

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 = x * (c / d);
    y = y * (c / d);
    g<<x<<' '<<y<<'\n';
}

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