Cod sursa(job #1531079)

Utilizator ReksioCroftOctavian Florin Staicu ReksioCroft Data 21 noiembrie 2015 13:17:46
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <stdio.h>
using namespace std;
int x,y,d;

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 {
    int x1,y1;
    euclidrecursiv(b, a % b, d, x1, y1);
    x = y1;
    y = x1 - (a / b) * y1;
  //}
}

int main() {

int n,i,a, b, c;

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, x, y);
cout<<d<<" "<<x<<" "<<y<<endl;
if(c%d!=0){
x=0;y=0;
fprintf(fout,"%d %d\n",x,y);
}
if(c%d==0){

fprintf(fout,"%d %d\n",x*c/d,y*c/d);
}

}
fclose( fin );
fclose( fout );


    return 0;
}