Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

Se dă un număr natural N și un șir v de N numere naturale. Să se afle cel mai mare divizor al tuturor numerelor din șir.

Date de intrare:
De pe prima linie se citește numărul N. De pe următoarea linie se citesc N numere naturale care reprezintă numerele din șir.

Date de ieșire
Programul va afișa pe ecran cel mai mare divizor comun al numerelor din șir

Restricții 1 ≤ N ≤ 10
1 ≤ v[i] ≤ 50000000

Exemplu
Date de intrare 3 4 18 12
Date de iesire 2
In C++ cu ajutorul algoritmului lui EUCLID !!!!!!!!!!!!!!!!!!

Răspunsuri la întrebare

Răspuns de Florin2k
2

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream fin("date.intrare");

ofstream fout("date.iesire");

int cmmdc(int a,int b){

   while (a!=b)

       if (a>b)

           a=a-b;

       else

           b=b-a;

   return a;

}

int main(){

   int n,a,b,i;

   fin>>n;

   fin>>a>>b;

   i=2;

   a=cmmdc(a,b);

   while(i<n){

       fin>>b;

       a=cmmdc(a,b);

       i++;

   }

   fout<<a;

return 0;

}

Explicație:

Trebuie sa creezi tu fisierele date.intrare si date.iesire daca vrei sa verifici in codeblocks.

Alte întrebări interesante