Pagini recente » Cod sursa (job #417689) | Cod sursa (job #2744392) | Cod sursa (job #862117) | Cod sursa (job #554860) | Cod sursa (job #2270479)
#include <iostream>
#include <fstream>
using namespace std;
int cmmdc(int a, int b)
{
if(a == 0)
return b;
if(b == 0)
return a;
if( (a & 1) == 0 && (b & 1) == 0)
return cmmdc(a >> 1, b >> 1) *2;
if( (a & 1) == 0)
return cmmdc(a >> 1, b);
if( (b & 1) == 0)
return cmmdc(a, b >> 1);
if(a > b)
return cmmdc(a - b, b);
return cmmdc(a, b - a);
}
int main()
{
ifstream f("cmmdc.in");
ofstream g("cmmdc.out");
int a, b;
f >> a >> b;
g << cmmdc(a, b);
return 0;
}