(П. Финкель) В файле содержится последовательность целых чисел. Четвёрка подряд идущих чисел называется подходящей, если из них можно составить правильный IP-адрес компьютера. Найдите в последовательности все подходящие четвёрки, для которых запись соответствующего IP-адреса удовлетворяет маске "\(?.{*}1{*}.2{*}.?\)". В ответе укажите количество таких четвёрок, а затем наибольшую сумму байтов для всех таких адресов.
Решение:
Python
def is_ip(quart):
return all(0 <= n <= 255 for n in quart)
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) and q[0] < 10 and q[3] < 10 and '1' in str(q[1]) and str(q[2])[0] == '2':
k += 1
max_sum_bytes = max(max_sum_bytes, sum(q))
print(k, max_sum_bytes)
Ответ: \(9 \,\, 421\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене