Se citesc două numere naturale a și b. Să se determine cel mai mic și cel mai mare număr din intervalul [a,b] cu număr maxim de divizori pari şi numărul maxim de divizori pari.
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
int n, d, nr, a, b, maxx = -INT_MAX, pnr, nrd, unr;
int main()
{
cin >> a >> b;
if(a % 2 == 1) a ++;
for(n = a; n <= b; n = n + 2)
{
for(d = 1; d * d < n; d ++)
if(n % d == 0)
{
if(d % 2 == 0) nrd ++;
if((n/d) % 2 == 0) nrd ++;
}
if(d * d == n && d % 2 == 0) nrd ++;
if(nrd > maxx) maxx = nrd, pnr = unr = n, nr = 1;
else if(nrd == maxx) unr = n, nr ++;
nrd = 0;
}
cout << maxx << " " << pnr << " " << unr;
return 0;
}
using namespace std;
int n, d, nr, a, b, maxx = -INT_MAX, pnr, nrd, unr;
int main()
{
cin >> a >> b;
if(a % 2 == 1) a ++;
for(n = a; n <= b; n = n + 2)
{
for(d = 1; d * d < n; d ++)
if(n % d == 0)
{
if(d % 2 == 0) nrd ++;
if((n/d) % 2 == 0) nrd ++;
}
if(d * d == n && d % 2 == 0) nrd ++;
if(nrd > maxx) maxx = nrd, pnr = unr = n, nr = 1;
else if(nrd == maxx) unr = n, nr ++;
nrd = 0;
}
cout << maxx << " " << pnr << " " << unr;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Franceza,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă