Vă rog să îmi scrieți rezolvarea în C++, fără vectori
Cerinţa
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.
Date de intrare
Programul citeşte de la tastatură numărul n.
Date de ieşire
Programul va afişa pe ecran valoarea cerută..
Restricţii şi precizări
0 < n <= 100.000
AntiEaglesDavids:
de ce fara vectori?
Răspunsuri la întrebare
Răspuns de
0
include <iostream>
using namespace std.
long int n;
unsigned i,k,j,x,m,a;
int main ()
{
cout <<"dati numarul";
cin>>n;
k=0;
m=0;
for (i=1;i<=n,i++)
if(n%i==0)
k++;
a=k;
for(i=n-1;i>0;i--)
{
for(j=0;j<=i;j++)
if(i%j==0)
x++;
if(x>k)
{
k=x;
m=i;
}
}
if (m==0)
cout <<"Numarul dat"<<n<<"indeplineste conditia";
else
cout<<"Numarul"<<m<<"este cel mai mic numar care are numarul maxim de divizori din intervalul [1, "<<n<<"]";
return 0;
}
*//n care este cel mai mare element al multimi deci se presupune ca acesta sa aiba numarul maxim de divizori,dar se poate intampla ca n sa fie prim, deci ca sa gasim un numar care sa aiba numarul maxim de divizori plecam in sens invers de la n la 1, calculand numarul divizorilor si verificand daca este mai mare, astfel se parcurge tot sirul de la n la 1 pentru gasirea numarului care sa indeplineasca cerinta
using namespace std.
long int n;
unsigned i,k,j,x,m,a;
int main ()
{
cout <<"dati numarul";
cin>>n;
k=0;
m=0;
for (i=1;i<=n,i++)
if(n%i==0)
k++;
a=k;
for(i=n-1;i>0;i--)
{
for(j=0;j<=i;j++)
if(i%j==0)
x++;
if(x>k)
{
k=x;
m=i;
}
}
if (m==0)
cout <<"Numarul dat"<<n<<"indeplineste conditia";
else
cout<<"Numarul"<<m<<"este cel mai mic numar care are numarul maxim de divizori din intervalul [1, "<<n<<"]";
return 0;
}
*//n care este cel mai mare element al multimi deci se presupune ca acesta sa aiba numarul maxim de divizori,dar se poate intampla ca n sa fie prim, deci ca sa gasim un numar care sa aiba numarul maxim de divizori plecam in sens invers de la n la 1, calculand numarul divizorilor si verificand daca este mai mare, astfel se parcurge tot sirul de la n la 1 pentru gasirea numarului care sa indeplineasca cerinta
Alte întrebări interesante
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă