👤

Se citeşte de la tastatură, un şir de n numere naturale. Realizaţi un program pentru determinarea numărului din şir cu cei mai mulţi divizori.

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int nrmaxdiv(int x)

{

   int d, nd=0;

    for (d=1; d*d<x; ++d)

   {

       if (x%d==0)

       {

           ++nd;  if (x/d!=d ) ++nd;

       }

   }

   if (d*d==x) ++nd;

   return nd;

}

int main()

{

   int n, i, num, caut, nrdiv=0, a;

   cin >> n;

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

   {

       cin >> num;

       a=nrmaxdiv(num);

       if (a>nrdiv)

       {

           nrdiv=a;

           caut=num;

       }

   }

   cout << caut;

}

Explicație: