Cod sursa(job #1695282)

Utilizator IrikosIrikos Irikos Data 26 aprilie 2016 21:08:44
Problema Algoritmul lui Euclid Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
  int t, n1, n2;
  ifstream readFile;
  readFile.open("euclid2.in");
  ofstream writeFile;
  writeFile.open("euclid2.out");
  readFile >> t;
  cout << t << endl;
  for (int i = 0; i < t; i++)
  {
    readFile >> n1;
    readFile >> n2;
    if (n1 < n2) {
      n1 += n2;
      n2 = n1 - n2;
      n1 = n1 - n2;
    }
    // euclid prin impartiri succesive
    if (n1 == 0 || n2 == 0)
    {
      int r = n1 % n2;
      while (r != 0)
      {
        n1 = n2;
        n2 = r;
        r = n1 % n2;
      }
    }
    writeFile << n2 << endl;
  }

  readFile.close();
  writeFile.close();
  return 0;
}