Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int n,num,caut, div=0;
int nrdiv(int m)
{
int nr=0, d=2,e;
while (d*d<=m)
{
e=0;
while (m%d==0)
{
m=m/d; ++e;
}
if (e>0) ++nr;
++d;
}
if (m>1) ++nr;
return nr;
}
int main()
{
cin >> n;
for (int i=1; i<=n; i++)
{
cin >> num;
int x=nrdiv(num);
if (x>div)
{
div=x;
caut=num;
}
}
cout << caut;
}
Explicație:
a rămas deschisă problema că dacă există mai multe numere din șir care au același număr maxim de divizori primi distincţi. La codul meu afișează pe primul din ele...
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că resursele disponibile v-au fost de ajutor. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Ne bucurăm să vă revedem în curând și vă invităm să ne salvați în lista de site-uri preferate!