Răspuns :
#include <iostream>
using namespace std;
bool prim(int n)
{
if (n==0 || n==1) return false;
if (n==2) return true;
if (n>2)
{
if (n%2==0) return false;
else
{
for (int i=3; i*i<=n; i+=2)
if (n%i==0) return false;
}
return true;
}
}
int nrDivPrimi(int m)
{
int contor=0, j;
for (j=1; j*j<m; ++j)
{
if (m%j==0)
{
if (prim(j)) ++contor;
if (prim(m/j)) ++contor;
}
}
if (j*j==m && prim(j)) ++contor;
return contor;
}
int main()
{
int n, i, num, nrdiv;
cin >> n;
cin >> num;
int nrmax=nrDivPrimi(num);
int x=num;
for (i=2; i<=n; ++i)
{
cin >> num;
nrdiv=nrDivPrimi(num);
if (nrdiv>nrmax)
{
nrmax=nrdiv; x=num;
}
else
{
if (nrdiv==nrmax && num<x) x=num;
}
}
cout << x;
return 0;
}
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Pe curând și nu uitați să ne adăugați la favorite!