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.
Răspunsuri la întrebare
Răspuns de
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;
}
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;
}
Răspuns de
0
#include <iostream>
using namespace std;
unsigned checkDiv(unsigned n){
int nr=0;
for(int i=1;i<=n;i++)
if(!(n%i))
nr++;
return nr;
}
int main(){
unsigned n,max=0,save;
cin>>n;
for(int i=1;i<=n;i++)
if(checkDiv(i)>max){
max = checkDiv(i);
save = i;
}
cout<<save;
return 0;
}
using namespace std;
unsigned checkDiv(unsigned n){
int nr=0;
for(int i=1;i<=n;i++)
if(!(n%i))
nr++;
return nr;
}
int main(){
unsigned n,max=0,save;
cin>>n;
for(int i=1;i<=n;i++)
if(checkDiv(i)>max){
max = checkDiv(i);
save = i;
}
cout<<save;
return 0;
}
Alte întrebări interesante
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă