Cod sursa(job #2470790)

Utilizator sandifx68Fazakas Alexandru sandifx68 Data 9 octombrie 2019 18:59:19
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <fstream>
using namespace std;

int euclid(int a,int b,int c, int &x,int &y)
{

    int q[100],x0,y0,r,pas=0;
    while(b)
    {
        q[++pas]=a/b;
        r=a%b;
        a=b;
        b=r;
    }
    if(c%a) {x=y=0;return 0;}
    x=x0=c/a; y=y0=0;
    while(pas)
    {
        x=y0;
        y=x0-q[pas--]*y0;
        x0=x;
        y0=y;

    }
    return 1;
}
int main()
{
    int t,a,b,c,x,y,i;
    FILE *f=fopen("euclid3.in","r");
    FILE *g=fopen("euclid3.out", "w");
    fscanf(f, "%d",&t);
    for(i=1;i<=t;i++)
        {
            fscanf(f, "%d %d %d",&a,&b,&c);
               euclid(a,b,c,x,y);
        fprintf(g,"%d %d \n",x,y);
}
}