Informatică, întrebare adresată de danilovadrian, 10 ani în urmă

Se citesc succesiv numere naturale, până la apariţia valorii 0. Să se afişeze dintre
numerele citite, pe acelea care au cel mai mare numar de divizori proprii.

Răspunsuri la întrebare

Răspuns de Emil1234
0
Rezolvare C++:

# include<iostream>
using namespace std;
unsigned divizorip(unsigned x)
{
    unsigned d=0;
    for(int i=2;i<=x/2;i++)
        if(x%i==0) d++;
    return d;
}
int main()
{
    unsigned x,max,v[100],i=2,n;
    cin>>max; v[1]=max;
    while(cin>>x && x!=0)
    {
        v[i]=x;
        if(divizorip(max)<divizorip(x)) max=x;
        i++;
    }
    n=i-1;
    for(i=1;i<=n;i++)
       if(divizorip(v[i])==divizorip(max))
          cout<<v[i]<<" ";
    return 0;
}


Alte întrebări interesante