Răspuns :
Programul se bazeaza ca cmmdc al 2 numere este cmmdc(a,b), la 3 numere: cmmdc(cmmdc(a,b),c) la patru numere: cmmdc(cmmdc(cmmdc(a,b),c),d) si tot asa pina la n numere.
P.s. Programul se opreste daca cmmdc la careva pas este 1, caci mai departe tot 1 si va fi, poti sa scoti conditia daca totusi doresti sa citesti toate numerele, dar asa economisesti timp.
#include <iostream>
using namespace std;
int n,x,y;
int cmmdc(int a, int b)
{
if(b==0)
return a;
else
return cmmdc(b,a%b);
}
int main()
{
cin >> n >> x >> y;
int k=cmmdc(x,y);
for(int i=3;i<=n and k!=1;i++)
{
cin >> x;
k=cmmdc(k,x);
}
cout << k;
return 0;
}
P.s. Programul se opreste daca cmmdc la careva pas este 1, caci mai departe tot 1 si va fi, poti sa scoti conditia daca totusi doresti sa citesti toate numerele, dar asa economisesti timp.
#include <iostream>
using namespace std;
int n,x,y;
int cmmdc(int a, int b)
{
if(b==0)
return a;
else
return cmmdc(b,a%b);
}
int main()
{
cin >> n >> x >> y;
int k=cmmdc(x,y);
for(int i=3;i<=n and k!=1;i++)
{
cin >> x;
k=cmmdc(k,x);
}
cout << k;
return 0;
}