Informatică, întrebare adresată de munteanalexandru1, 8 ani în urmă

Se considera tablourile A[1..n] si B[1..m] cu elemente numere naturale. Scrieti un program care va calcula suma celor mai mari divizori comuni (CMMDC) ai elementelor tablourile A si B, folosind subprogramul de calcul al CMMDC dintr-un singur tablou, iar acesta va apela subprogramul de calcul al CMMDC a 2 numere naturale, bazat pe algoritmul lui Euclid.
Va rog frumos!!!

Răspunsuri la întrebare

Răspuns de boiustef
0

#include <iostream>

using namespace std;

int n,m,a[1000],b[1000], i, suma;

int cmmdc2(int x, int y)

{

   while (x!=y)

   {

       if (x>y) x=x-y;

       else y=y-x;

   }

  return x;

}

int cmmdctab(int n, int v[])

{

   int c=v[0];

   for (i=1; i<n; ++i)

       c=cmmdc2(c,v[i]);

   return c;

}

int main()

{

   cout << "n= "; cin >> n;

   cout << " introdu " << n << " numere naturale: " << endl;

   for (i=0; i<n; ++i)

       cin >> a[i];

   cout << "m= "; cin >> m;

   cout << " introdu " << m << " numere naturale: " << endl;

   for (i=0; i<m; ++i)

       cin >> b[i];

   suma=cmmdctab(n,a)+cmmdctab(m,b);

   cout << suma;

}

Alte întrebări interesante