Cod sursa(job #2153032)

Utilizator bodea.georgianaBodea Georgiana bodea.georgiana Data 5 martie 2018 22:01:53
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>

using namespace std;
FILE *f,*g;

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

int main()
{
    long long a,b,c,x,y;
    int i,j,n;
    f=fopen("euclid3.in","r");
    g=fopen("euclid3.out","w");
    fscanf(f,"%d",&n);
    for(i=1;i<=n;++i)
    {
        fscanf(f,"%lld %lld %lld",&a,&b,&c);

        algoritmgeuclidextins(a,b,x,y);

        if(c%d!=0)
            fprintf(g,"0 0\n");
        else
            fprintf(g,"%lld %lld\n",x*(c/d),y*(c/d));
    }

    fclose(f);
    fclose(g);
    return 0;
}