Am nevoie de un răspuns la această problemă. Nu vreau să fie cu funcții, ci doar cu structuri repetitive. Se citește de la tastatură un număr natural n, apoi se citesc succesiv n numere naturale. Să se determine un număr dintre cele n citite, care au un număr maxim de divizori primi. Aș dori explicații.​

Răspuns :

Răspuns:

Bună!

Sper că te-am ajutat!

Explicație:

#include <iostream>

using namespace std;

int n,i,d,x,aux,nrdivizorp=-10000000,nrmaxp,nr;

int main ()

{

cin>>n;

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

{

cin>>x;

aux=x;

d=2;

nr=0;

while(aux>1)

{

if(aux%d==0)

{

nr++;

while(aux%d==0)

{

aux=aux/d;

}

}

if(d==2)

d++;

else

d=d+2;

}

if(nrdivizorp<nr)

{

nrdivizorp=nr;

nrmaxp=x;

}

}

cout<<nrmaxp;

return 0;

}