using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace nrdivmax
{
class Program
{
static int nrdivpar(int n)
{//nr par de divizori, facut eficient
int c = 0;
for (int d = 1; d * d <= n; d++)//doar pana la radical(n)
if (n % d == 0)
{
if (d % 2 == 0) c++;//divizorul d
if (d * d != n) if (n / d % 2 == 0) c++;//divizorul n/d
}
return c;
}
static void Main(string[] args)
{
int a, b, nrd = 0, min=0, max=0;
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
for (int n = a; n <= b; n++)
{
int nd = nrdivpar(n);//numarul de divizori par
if (nd > nrd)//mai multi
{//schimbam tot
nrd = nd;
min = max = n;
}
else if (nd == nrd) max = n;//la == schimbam doar maximul
}
Console.WriteLine(nrd + " " + min + " " + max);
Console.ReadKey();
}
}
}
|