cel mai mare divizor comun c++

2

Click here to load reader

Upload: alyssa-powell

Post on 13-Apr-2015

17 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Cel Mai Mare Divizor Comun c++

#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

Page 2: Cel Mai Mare Divizor Comun c++

{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;

}