Cod sursa(job #1756374)
| Utilizator | Data | 12 septembrie 2016 18:35:04 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("euclid2.in");
ofstream g("euclid2.out");
int cmmdc(int a, int b) {
int c;
if (a == 0)
return b;
if (b == 0)
return a;
while (a != 0) {
if (b > a) {
b -= a;
c = b / a;
if (c*a == b)
return a;
}
else {
c = a / b;
if (c*b == a)
return b;
a = -b;
}
}
return b;
}
int main(){
int nr, a, b;
f >> nr;
while (nr > 0) {
f >> a >> b;
g << cmmdc(a, b) << "\n";
nr--;
}
return 0;
}
