Cod sursa(job #1525106)

Utilizator preda.andreiPreda Andrei preda.andrei Data 14 noiembrie 2015 19:07:05
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <stdio.h>

using namespace std;

void euclid(int a, int b, int &d, int &x, int &y){
    if(b==0){
        d=a;
        x=1;
        y=0;
        return;
    }

    int x1, y1;
    euclid(b, a%b, d, x1, y1);
    x=y1;
    y=x1-y1*(a/b);
}

int main()
{
    FILE *fin=fopen("euclid3.in", "r");
    FILE *fout=fopen("euclid3.out", "w");

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

    fscanf(fin, "%d", &t);
    for(int i=1; i<=t; ++i){
        fscanf(fin, "%d%d%d", &a, &b, &c);
        euclid(a, b, d, x, y);
        if(c%d==0){
            c/=d;
            fprintf(fout, "%d %d\n", x*c, y*c);
        }
        else fprintf(fout, "0 0\n");
    }

    return 0;
}