Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 17. Информатика. ЕГЭ. Поляков-9014
- Просмотры: 210
- Изменено: 5 мая 2026
(П. Финкель) В файле содержится последовательность целых чисел. Четвёрка подряд идущих чисел называется подходящей, если из них можно составить правильный IP-адрес компьютера. Найдите в последовательности все подходящие четвёрки, для которых количество единиц в двоичной записи соответствующего IP-адреса – простое число. В ответе укажите количество таких четвёрок, а затем наибольшую сумму байтов для всех таких адресов.
Решение:
Python
from math import isqrt
def is_ip(quart: list[int]) -> bool:
return all(0 <= n <= 255 for n in quart)
def is_prime(n: int) -> bool:
if n <= 2:
return n == 2
if n & 1 == 0:
return False
for x in range(2, isqrt(n) + 1):
if n % x == 0:
return False
return True
nums = [int(x) for x in open('9012.txt')]
k, max_sum_bytes = 0, 0
for q in zip(nums, nums[1:], nums[2:], nums[3:]):
if is_ip(q):
ip = (q[0] << 24) + (q[1] << 16) + (q[2] << 8) + q[3]
if is_prime(f'{ip:b}'.count('1')):
k += 1
max_sum_bytes = max(max_sum_bytes, sum(q))
print(k, max_sum_bytes)
Ответ: \(522 \,\, 866\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


