Переводим третий байт ip и адреса сети в двоичную систему 50 - 110010 48 - 110000 так как это байт (а в байте 8 бит), допишем два незначащих нуля к получившимся числам: 00110010 - ip 00110000 - адрес сети адрес сети получается с применения поразрядной конъюнкции к маске и ip, проще говоря, при перемножении разрядов маски и ip-адреса. и в маске всегда сначала идут только единицы, а потом только нули. то есть можно записать так: - маска 00110010 - ip 00110000 - адрес сети где иксы в маске и цифры в ip-адресе - множители, а разряды адреса сети - произведение. на 3 и 4 месте в маске однозначно должны быть единицы, т.к. если там будут нули, то и в адресе сети будут нули. плюс к этому, в маске всегда сначала идут только единицы, а потом только нули, то есть можно записать так: - маска 00110010 - ip 00110000 - адрес сети второй справа разряд ip-адреса - единица, а адреса сети - ноль, значит в маске может быть только ноль: 1111хх00 - маска 00110010 - ip 00110000 - адрес сети оставшиеся два икса могут быть и единицами, и нулями. нужно наименьшее возможное значение, значит поставим на их место нули: 11110000 - маска 00110010 - ip 00110000 - адрес сети то есть третий байт маски 11110000, переведём в десятичную - получим 240.
stolle16
18.01.2020
1. int a; cin > > a; for (int i = 0; i < = a; ++i) cout < < i < < " "; return 0; 2. int a, int b, res = 0; cin > > a > > b; for (int i = a; i < = b; ++i) res += i; cout < < res; return 0; 3. int k; cin > > k; for (int i = 1; i < 10; ++i) cout < < k < < "x" < < i < < "=" < < k * i; return 0; 4. int a; cin > > a; int res = 1; for (int i = a; i < = 20; ++i) res *= a; cout < < a; return 0;