Главная / 12 января 2026 г.

№13. Организация компьютерных сетей. Адресация

232) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Узел с IP-адресом 193.18.135.201 принадлежит подсети, в которой 105 адресов, двоичная запись которых содержит 19 единиц. Сколько нулей в двоичной записи маски этой подсети?

Решение
from itertools import *
ip = '11000001000100101000011111001001'
for j in range(len(ip), 0, -1):
    s0 = ip[:j]
    n = 0
    for i in product("01", repeat = 32 - j):
        if s0.count("1") + s.count("1") == 19:
        n += 1
    if n == 105:
        print(s0, n, "длина=", 32 - len(s0), " !!! ")
        break
    else:
        print(s0, len(s0), n)

234) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Узлы с IP-адресами 163.135.196.55 и 163.135.210.181 принадлежат одной сети. Какое наименьшее количество IP-адресов, в двоичной записи которых ровно 21 единица, может содержаться в этой сети?

Подсказка
Решение
from itertools import *
n = 0
for i in product("01", repeat = 13):
    s = ''.join(i)
    if (10 + s.count("1")) == 21:
        n += 1
print(n)

239) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Широковещательным адресом называется специализированный адрес, в котором все младшие биты, соответствующие нулям в маске, равны 1. Сеть задана IP-адресом одного из входящих в неё узлов 83.152.68.115 и сетевой маской 255.255.224.0. Найдите наибольший IP-адрес в данной сети, который может быть назначен компьютеру. В ответе укажите найденный IP-адрес без разделителей. Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать 11122344.

Решение

245) (Апробация-2025) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Широковещательным адресом называется специализированный адрес, в котором все младшие биты, соответствующие нулям в маске, равны 1. Сеть задана IP-адресом одного из входящих в неё узлов 139.190.87.229 и сетевой маской 255.255.248.0. Определите наибольший IP-адрес данной сети, который может быть присвоен компьютеру. В ответе укажите найденный IP-адрес без разделителей. Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать 11122344.

Решение

246) (Р. Косов) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Широковещательным адресом называется специализированный адрес, в котором все младшие биты, соответствующие нулям в маске, равны 1. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств. Сеть задана IP-адресом одного из входящих в неё узлов 45.172.106.203 и сетевой маской 255.255.252.0. Найдите наименьший в данной сети IP-адрес, который может быть назначен компьютеру. В ответе укажите найденный IP-адрес без разделителей. Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать 11122344.

Решение

Ответ: 451721041

№14. Кодирование чисел. Системы счисления

537) В ответе запишите только целое число. Значение арифметического выражения 39483 + 39235 – х, где х – натуральное число, не превышающее 9430, записали в 39-ричной системе счисления. Определите максимальное возможное количество нулей в 39-ричной записи числа, являющегося значением данного арифметического выражения. В ответе запишите только целое число.

Решение
A = 39**483 + 39**235
max0 = 0
for x in range(1, 9431):
    n = 0
    X = A - x
    while X > 0:
        if X % 39 == 0:
            n += 1
        X //= 39
        max0 = max(max0, n)
print(max0)

539) Значение арифметического выражения 75314 + 75118 – х, где х – натуральное число, не превышающее 32000, записали в 75-ричной системе счисления. Определите минимальное возможное количество нулей в 75-ричной записи числа, являющегося значением данного арифметического выражения. В ответе запишите только целое число.

Решение

545) * Операнды арифметического выражения записаны в системе счисления с основанием 57.

15xDG₅₇ + 91xB4₅₇

В записи чисел переменной x обозначена неизвестная цифра из алфавита 57-ричной системы счисления. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 56. Для найденного x вычислите частное от деления значения арифметического выражения на 14 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.

Решение
for x in range(56, -1, -1):
    a = 1*57**4 + 5*57**3 + x*57**2 + 13*57 + 16
    b = 9*57**4 + 1*57**3 + x*57**2 + 11*57 + 4
    if (a + b) % 56 == 0:
        print(x, (a + b) // 14)