Задание 13. Информатика. ЕГЭ. Демо-2025
- Просмотры: 2944
- Изменено: 24 ноября 2024
(Демо-2025) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом \(172.16.168.0\) и маской сети \(255.255.248.0\). Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно \(5\)?
В ответе укажите только число.
Решение:
В двоичном виде маска сети записывается так: \(11111111.11111111.11111000.00000000_2\). Видно, что для узла в сети отводится \(11\) младших разрядов. Значит, номер узла в этой сети может принимать значения от \(0\) до \(2^{11} - 1 = 2047\).
C++
#include<iostream>
using namespace std;
int digs(unsigned n) {
int q = 0;
for (; n; n >>= 1)
q += n & 1;
return q;
}
int32_t main() {
unsigned net = (172 << 24) + (16 << 16) + (168 << 8);
int q = 0;
for(int i = 0; i < 2048; i++)
q += int(digs(net + i) % 5 != 0);
cout << q << '\n';
}
Ответ: \(1663\)