Răspuns :

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