Cod sursa(job #2784420)

Utilizator sandifx68Fazakas Alexandru sandifx68 Data 16 octombrie 2021 13:56:33
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>

using namespace std;

FILE *f=fopen("euclid3.in","r");
FILE *g=fopen("euclid3.out","w");

void euclid(long long a, long long b, long long &d, long long &x, long long &y){
    if(!b){
        x=1;
        y=0;
        d=a;
        return;
    }
    long long x1,y1;
    euclid(b,a%b,d,x1,y1);
    x=y1;
    y=x1-(a/b)*y1;

}

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