Cod sursa(job #1039274)

Utilizator smaraldaSmaranda Dinu smaralda Data 22 noiembrie 2013 19:00:08
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>

void euclid (int a, int b, int &x, int &y, int &d) {
    if(b == 0)
        x = 1,
        y = 0,
        d = a;
    else {
        int x0, y0;
        euclid(b, a % b, x0, y0, d);
        x = y0;
        y = x0 - (a / b) * y0;
    }
}

int main() {
    freopen("euclid3.in","r",stdin);
    freopen("euclid3.out","w",stdout);

    int tc,a,b,c,x,y,d;

    scanf("%d",&tc);
    while(tc) {
        tc--;
        scanf("%d%d%d",&a,&b,&c);
        euclid(a,b,x,y,d);
        if(c % d != 0) {
            printf("0 0\n");
            continue;
        }
        else
            printf("%d %d\n",x * c / d, y * c / d);
    }
    return 0;
}