Cel mai mare divizor comun (CMMDC) al unui vector

Lecție despre determinarea celui mai mare divizor comun al elementelor unui vector în C++.

În această lecție, vom învăța cum să calculăm cel mai mare divizor comun al elementelor unui vector utilizând C++.

Cerința problemei

Se citește de la tastatură un vector v de n elemente. Calculați și afișați cel mai mare divizor comun al tuturor elementelor vectorului.

Exemplu de intrare și ieșire:

Intrare:
n = 4, v = [12, 18, 24, 30]

Ieșire:
6


Explicația algoritmului

  1. Funcția pentru CMMDC: Se implementează o funcție pentru a calcula cel mai mare divizor comun a două numere utilizând algoritmul lui Euclid.
  2. Iterarea elementelor vectorului: Se calculează CMMDC pentru toate elementele vectorului.
  3. Afișarea rezultatului.

Codul sursă în C++:

#include <iostream>
using namespace std;

// Funcție pentru calcularea CMMDC
int cmmdc(int a, int b) {
    while (b != 0) {
        int r = a % b;
        a = b;
        b = r;
    }
    return a;
}

int main() {
    int n, v[100];

    // Citirea datelor
    cout << "Introduceti dimensiunea vectorului n: ";
    cin >> n;

    cout << "Introduceti elementele vectorului: ";
    for (int i = 0; i < n; i++) {
        cin >> v[i];
    }

    // Calculăm CMMDC pentru toate elementele vectorului
    int rezultat = v[0];
    for (int i = 1; i < n; i++) {
        rezultat = cmmdc(rezultat, v[i]);
    }

    // Afișăm rezultatul
    cout << "Cel mai mare divizor comun al vectorului este: " << rezultat << endl;

    return 0;
}