В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(0\) до \(10~000\) включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов больше, чем наибольшее из всех чисел в файле, делящихся на \(107,\) и в семеричной записи хотя бы одного элемента из двух содержится сочетание цифр \(36.\) В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Python
def conv(n):
ans = ''
alph = '0123456'
while n:
ans = alph[n % 7] + ans
n //= 7
return ans
nums = [int(x) for x in open('4688.txt')]
m107 = max(x for x in nums if x % 107 == 0)
q, ms = 0, float('inf')
for p in zip(nums, nums[1:]):
if any(x > m107 for x in p) and any('36' in conv(x) for x in p):
q += 1
ms = min(ms, sum(p))
print(q, ms)
Ответ: \(14 \,\, 11350\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене