Переводим 112 и 64 в 2СС . 112 =1110000 64 =1000000 так как байт - это 8 бит ,следовательно в числе должно быть восемь знаков , тогда добавляем перед числами по незначащему нулю , тогда 112 = 01110000 64 = 01000000 адрес сети получается , когда мы применяем поразрядную конъюнкцию (между маской и ip адресом) 01110000 <-- маска
01000000 мы видим в адресе сети единицу и над ней в ip адресе тоже единица , значит на этом месте в маске может быть только 1 . Так как в маске у нас идут (СТРОГО) сначала единицы ,потом нули, тогда маска будет равна 11000000 , что в переводе в 10 -ную СС =192 ответ : 192
Из условия нам известно, что ввод завершается числом ноль. Информация о количестве чисел требуется только если их запоминать в массиве, но у нас однопроходный алгоритм, массив не нужен, поэтому про "1000 чисел" благополучно забываем. Числа целые, и по модулю не превышают 30 000, следовательно им надо отводить двухбайтный тип integer, в в котором диапазон представления чисел [-32 768 ; 32 767]. "Нечетные числа, кратные трем" - это такие, у которых остаток от деления на два ненулевой, а остаток от деления на три нулевой. Поскольку числа целые, то и деление, конечно же, целочисленное. Длина последовательности n - это просто счетчик количества прохождений цикла за вычетом единицы, потому что последний проход по циклу будет при вводе нуля, а его учитывать не надо. В другом счетчике k мы накапливаем количество чисел, для которых выполнилось рассмотренное выше условие "нечетные числа, кратные трем".
var n,k,m: integer; begin Writeln('Вводите целые числа, для окончания введите 0'); n:=0; k:=0; repeat Read(m); Inc(n); if (m mod 2 <> 0) and (m mod 3 = 0) then Inc(k) until m=0; Writeln('Введено чисел- ',n-1); Writeln('Нечетных, кратных трем- ',k) end.
Тестовое решение: Вводите целые числа, для окончания введите 0 -5 12 8 27 -18 14 -33 7 0 Введено чисел- 8 Нечетных, кратных трем- 2
125/2=62 остаток -1
62/2=31 остаток 0
31/2=15 остаток 1
15/2=7 остаток 1
7/2=3 остаток 1
3/2=1 остаток 1
Записываем получившиеся остатки в обратном порядке , но начнем с последнего частного (1)
1 1 1 1 1 0 1 (2)=125 (10)
255
255/2=127 остаток 1
127/2=63 остаток 1
63/2=31 остаток 1
31/2=15 остаток 1
15/2=7 остаток 1
7/2=3 остаток 1
3/2=1 остаток 1
Опять таки записываем получившиеся остатки в обратном порядке , но начнем с последнего частного (1)
1 1 1 1 1 1 1 1