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ă informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.