(А. Кабанов) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только десятичные цифры и заглавные буквы латинского алфавита. Определите в этом файле последовательность наибольшей длины идущих подряд символов, представляющих собой восьмеричную запись чётного числа. Если таких последовательностей несколько, выберите последовательность с наименьшим числовым значением. В ответе запишите индекс (номер) первого символа (первой значащей цифры), с которого начинается запись этого числа в прилагаемом файле. Нумерация символов в текстовом файле начинается с нуля.
Решение:
Python
from re import finditer
s = open('8120.txt').readline().strip()
ans = []
for g in finditer(r'[1-7][0-7]*[0246]', s):
ans.append(g.group(0))
m = max(len(d) for d in ans)
ans = sorted([d for d in ans if len(d) == m])
print(s.find(ans[0]))
Ответ: \(655664\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене