cel mai mare divizor comun c++
TRANSCRIPT
#include<iostream.h>
#include<fstream.h>
ifstream f("d.in");
ofstream g("d.out");
int n,x[100];
void citire (int n)
{int i;
for(i=1;i<=n;i++)
f>>x[i];
}
void afisare (char s[],int n)
{int i;
g<<s<<endl;
for(i=1;i<=n;i++)
g<<x[i]<<" ";
g<<endl;
}
int cmmdc(int a,int b)
{if(a==b)return a;
else if(a>b)return cmmdc(a-b,b);
else return cmmdc(a,b-a);
}
int euclid(int li,int ls)
{int m;
if(ls-li<=1)
return cmmdc(x[ls],x[li]);
else
{m=(ls+li)/2;
return cmmdc(euclid(li,m),euclid(m+1,ls));}
}
int main ()
{f>>n;
citire(n);
afisare("sirul este:",n);
g<<"cmmdc="<<euclid(1,n);
f.close();
g.close();
return 1;
}