Задание 17. Информатика. ЕГЭ. Поляков-7820

Просмотры: 93
Изменено: 22 февраля 2025

В файле содержится последовательность натуральных чисел, не превышающих \(10000.\) Определите количество троек, для которых выполняются следующие условия:

  • остаток от деления на \(7\) ровно одного числа из тройки равен остатку от деления на \(11\) минимального элемента последовательности, который записывается в десятичной системе счисления как четырёхзначное число;
  • остаток от деления на \(5\) ровно одного числа из тройки равен остатку от деления на \(3\) минимального элемента последовательности, который записывается в десятичной системе счисления как двузначное число.

В ответе запишите два числа: сначала количество найденных троек, затем минимальную величину суммы элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

Файл с данными

Решение:

Python


base = ''

nums = [int(x) for x in open(base + '17.txt')]
m3 = min(x for x in nums if 9 < x < 100) % 3
m11 = min(x for x in nums if 999 < x < 10_000) % 11

q = 0
min_sum = float('inf')

for tr in zip(nums, nums[1:], nums[2:]):
    if sum(x % 7 == m11 for x in tr) == 1 and sum(x % 5 == m3 for x in tr) == 1:
        q += 1
        min_sum = min(min_sum, sum(tr))
print(q, min_sum)

Ответ: \(2465 \,\, 115\)