Cod sursa(job #1529552)

Utilizator ReksioCroftOctavian Florin Staicu ReksioCroft Data 21 noiembrie 2015 00:42:29
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <stdio.h>
using namespace std;
int x,y,d,x1,y1,n,i,a, b, c,d1;

FILE *fin, *fout;

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

int main() {



fin = fopen( "euclid3.in", "r" );
fout = fopen( "euclid3.out", "w" );

fscanf(fin,"%d", &n);
cout<<n<<endl;
for (i=1;i<=n;i++){
fscanf(fin,"%d %d %d", &a, &b,&c);
cout<<a<<" "<<b<<" "<<c<<endl;

euclidrecursiv(a, b, d, x1, y1);
cout<<d<<" "<<x1<<" "<<y1<<endl;
if(c%d!=0){
x1=0;y1=0;
fprintf(fout,"%d %d\n",x1,y1);
}
else{

fprintf(fout,"%d %d\n",x1*c/d,y1*c/d);
}

}
fclose( fin );
fclose( fout );


    return 0;
}