Răspuns:
#include <iostream>
using namespace std;
/// cin - inseamna citire
/// cout - inseamna scriere
/// while - inseamna cat timp
/// % - inseamna restul impartirii
int main() {
int n, i, cmmdc, x, r;
cin >> n >> cmmdc;
/// citim primul nr din serie si il atribuim cmmdc-ului ca valoare initiala
i = 1;
while ( i < n ) {
cin >> x;
while ( x > 0 ) {
r = cmmdc % x;
cmmdc = x;
x = r;
}
i ++;
}
cout << cmmdc;
return 0;
}
Explicație:
cmmdc-ul unei serii se calculeaza in felul urmator:
numim v[i] al i-lea element din serie
se calculeaza x = cmmdc(v[0],v[1])
dupa care x = cmmdc(x,v[2]);
dupa care x = cmmdc( x, v[3] );
etc..
while ( x > 0 ) {
r = cmmdc % x;
cmmdc = x;
x = r;
}
este algoritmul lui euclid pentru aflarea cmmdc-ului a doua numere