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
25
#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;
}
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
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă