Informatică, întrebare adresată de Forex, 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.
1 ≤ N ≤ 10
1 ≤ v[i] ≤ 50000000

Răspunsuri la întrebare

Răspuns de dragotarobert10
0

Răspuns:

#include<iostream>

using namespace std;

int main()

{

   long long v[11],i,n,y,x;

   cin>>n;

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

       cin>>v[i];

   if(n==1)

       cout<<v[1];

   else

   {

       while(v[1]!=0)

       {

           x=v[2]%v[1];

           v[2]=v[1];

           v[1]=x;

       }

       if(v[2]!=1)

           y=v[2];

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

       {

           while(y!=0)

           {

               x=v[i]%y;

               v[i]=y;

               y=x;

           }

           if(v[i]!=1)

               y=v[i];

       }

   }

       cout<<y;

       return 0;

   }

Explicație:

Alte întrebări interesante