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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!