(П. Финкель) В файле содержится последовательность целых чисел. Четвёрка подряд идущих чисел называется подходящей, если из них можно составить правильный IP-адрес компьютера. Найдите в последовательности все подходящие четвёрки, для которых количество единиц в двоичной записи полученного IP-адреса кратно \(7.\) В ответе укажите количество таких четвёрок, а затем наибольшую сумму байтов для всех таких адресов.
Решение:
Python
nums = [int(x) for x in open('8958.txt')]
q, bs = 0, 0
for quart in zip(nums, nums[1:], nums[2:], nums[3:]):
if all(0 <= b <= 255 for b in quart):
s1 = sum(bin(b)[2:].count('1') for b in quart)
if s1 % 7 == 0:
q += 1
bs = max(bs, sum(quart))
print(q, bs)
Ответ: \(19 \,\, 738\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене