Cod sursa(job #1742313)

Utilizator mirceas112Pirvu Mircea mirceas112 Data 16 august 2016 12:01:08
Problema Algoritmul lui Euclid extins Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>
#include <assert.h>

int euler3(int A,int B,int *X , int *Y){

    if(B == 0){
        *X = 1;
        *Y = 0;
        return A;
    }
    else{

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

        *X=Y0;
        *Y=X0 - (A/B)*Y0;
        return D;
    }
}
int main()
{
    freopen("euclid3.in", "rt", stdin);
    freopen("euclid3.out", "wt", stdout);

    int N , A , B , C , i , E , X , Y;

    scanf ("%i", &N);

    for ( i = 0 ; i < N ; i++ )
        {
            scanf("%i %i %i", &A,&B,&C);
            E = euler3 (A,B,&X,&Y);

            if(C%E) printf ("0 0\n");
                else printf ("%i %i\n",X*(C/E),Y*(C/E));
        }

    return 0;
}