Cod sursa(job #978969)

Utilizator maryabbunduc maria maryab Data 30 iulie 2013 19:29:47
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<stdio.h>

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

int main(){
    int a, b, c, d, x, y, T, i;
    FILE *pf, *pg;

    pf = fopen("euclid3.in", "r");
    pg = fopen("euclid3.out", "w");

    fscanf(pf, "%d", &T);

    for(i = 1; i <= T; i++){
        fscanf(pf, "%d %d %d", &a, &b, &c);
        d = euclidExtins(a, b, x, y);

        if(c%d == 0)
            fprintf(pg, "%d %d\n", x*(c/d), y*(c/d));
        else
            fprintf(pg, "0 0\n");

    }

    fclose(pf);
    fclose(pg);

    return 0;

}