Cod sursa(job #1762477)

Utilizator andrei_diaconu11Andrei C. Diaconu andrei_diaconu11 Data 23 septembrie 2016 16:29:13
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>

using namespace std;

void euclidex(int a,int b, long long& x, long long& y){
    if(b==0){
        x=1;
        y=0;
        return;
    }
    euclidex(b,a%b,x,y);
    long long aux=y;
    y=(x)-(a/b)*(y);
    x=aux;
}

int main()
{
    long long  x, y;
    int t, S, a, b, c, i;
    FILE *fi=fopen("euclid3.in", "r"), *fo=fopen("euclid3.out", "w");
    fscanf(fi, "%d", &t);
    for(i=0;i<t;i++){
        fscanf(fi, "%d%d%d", &a, &b, &c);
        euclidex(a,b,x,y);
        S=a*x+b*y;
        if(c%S!=0)
            fprintf(fo, "0 0\n");
        else
            fprintf(fo, "%lld %lld\n", 1LL*c*x/S, 1LL*c*y/S);
    }
    fclose(fi);
    fclose(fo);
    return 0;
}