Cod sursa(job #432340)

Utilizator hasegandaniHasegan Daniel hasegandani Data 2 aprilie 2010 11:19:27
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>

int gcd(int A,int B,int &X,int &Y)
{
    if (B==0)
    {
        X=1;
        Y=0;
        return A;
    }

    int X0,Y0,D;
    D=gcd(B,A%B,X0,Y0);

    X=Y0;
    Y=X0 - (A/B)*Y0;
    return D;
}

int main()
{
    int T,A,B,C,D,X,Y;
    freopen("euclid3.in","r",stdin);
    freopen("euclid3.out","w",stdout);
    scanf("%d",&T);
    for(;T;--T)
        {
        scanf("%d%d%d",&A,&B,&C);
        D = gcd(A,B,X,Y);
        if (C%D==0)
            printf("%d %d\n",X*(C/D),Y*(C/D));
        else
            printf("0 0\n");
        }
    return 0;
}