Informatică, întrebare adresată de andreipetrariu25, 9 ani în urmă

Se dă un număr natural n. Să se determine numărul din intervalul [1,n] care are număr maxim de divizori. Dacă există mai multe asemenea numere, se va afișa cel mai mic dintre ele.

0 < n <= 100.000

Răspunsuri la întrebare

Răspuns de Deadman9
1
#include <iostream>
using namespace std;
int n ,i, d, nr, maxx=-1, m, p;
long long s;
int main()
{
cin >> m;
for(i=1;i<=m;i++)
{
    n=i;
    nr=0;
        for(d = 1 ; d * d < n ; d++)
   if(n % d == 0)
     nr++;
             nr = nr * 2;
             if(d * d == n)
        nr = nr + 1;

if(nr>maxx) maxx = nr, p = i;
}
cout<<p;
return 0;
}
Alte întrebări interesante