Cod sursa(job #3298764)

Utilizator Andronie_RazvanAndronie Razvan Andronie_Razvan Data 1 iunie 2025 15:26:26
Problema Algoritmul lui Euclid extins Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>
#define ll long long

ll gcd(ll a, ll b, ll *x, ll *y)
{
    if(b==0)
    {
        *x=1;
        *y=0;
        return a;
    }
    ll x0, y0, d;
    d=gcd(b, a%b, &x0, &y0);
    *x=y0;
    *y=x0-(a/b)*y0;
    return d;
}


int main(void)
{
    FILE *fin=NULL, *fout=NULL;
    fin=fopen("euclid3.in","r");
    fout=fopen("euclid3.out","w");
    int t;
    fscanf(fin,"%d", &t);
    for(int i=1; i<=t; i++)
    {
        ll a,b,c;
        fscanf(fin,"%lld %lld %lld",&a,&b,&c);
        ll d, x, y;
        d=gcd(a,b,&x,&y);
        if(c%d)
        fprintf(fout,"0 0\n");
        else
        fprintf(fout,"%lld %lld\n", x*(c/d), y*(c/d));

    }

    fclose(fin);
    fclose(fout);
    



    return 0;
}