Переводим 112 и 64 в 2СС . 112 =1110000 64 =1000000 так как байт - это 8 бит ,следовательно в числе должно быть восемь знаков , тогда добавляем перед числами по незначащему нулю , тогда 112 = 01110000 64 = 01000000 адрес сети получается , когда мы применяем поразрядную конъюнкцию (между маской и ip адресом) 01110000 <-- маска
01000000 мы видим в адресе сети единицу и над ней в ip адресе тоже единица , значит на этом месте в маске может быть только 1 . Так как в маске у нас идут (СТРОГО) сначала единицы ,потом нули, тогда маска будет равна 11000000 , что в переводе в 10 -ную СС =192 ответ : 192
using System;
namespace Global
{
class Program
{
public string[] range = new string[2];
static void Main(string[] argv)
{
Program Obj = new Program();
Obj.Calculate();
}
public void Calculate()
{
string iN = Console.ReadLine();
int n = Convert.ToInt16(iN);
Console.WriteLine("Введите диапазон (2 числа через пробел)");
range = (Console.ReadLine().Split(' '));
int s = 0;
int b = getArrayItem(1);
for (int a = getArrayItem(0); a<b+1; a++)
{
if (n % a == 0)
{
s++;
}
}
Console.WriteLine(s);
Console.ReadKey();
}
public int getArrayItem(int item)
{
return Convert.ToInt16(range[item]);
}
}
}
Объяснение: