Pagini recente » Cod sursa (job #1667128) | Cod sursa (job #1310322) | Cod sursa (job #2331190) | Cod sursa (job #1401911) | Cod sursa (job #278010)
Cod sursa(job #278010)
#include <iostream>
#include <fstream>
using namespace std;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef unsigned char byte;
namespace Recursive {
ulong gcd(ulong first, ulong second) {
if(second == 0)
return first;
else
return Recursive::gcd(second, first % second);
}
}
namespace Iterative {
ulong gcd(ulong first, ulong second) {
ulong temp;
while(second != 0) {
temp = second;
second = first % second;
first = temp;
}
return first;
}
}
int main(int argc, char * argv[]) {
const char * inFile = "euclid2.in";
const char * outFile = "euclid2.out";
ifstream fin(inFile);
ofstream fout(outFile);
if(!fin || !fout) {
cout << "Error opening files!" << endl;
return -1;
}
ulong nPairs;
ulong first, second;
fin >> nPairs;
for(ulong i = 0; i < nPairs; i++) {
fin >> first;
fin >> second;
fout << Iterative::gcd(first,second) << "\n";
}
fout.close();
fin.close();
//system("PAUSE");
return 0;
}