Задание 17. Информатика. Демо 2024

Просмотры: 312
Изменено: 25 ноября 2024

В файле содержится последовательность натуральных чисел, каждое из которых не превышает \(100~000\). Определите количество троек элементов последовательности, в которых ровно два из трёх элементов являются трёхзначными числами, а сумма элементов тройки не больше максимального элемента последовательности, оканчивающегося на \(13\). Гарантируется, что в последовательности есть хотя бы одно число, оканчивающееся на \(13\). В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

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

Решение:

Python


def is_3_digs(t):
    tmp = 0
    for i in range(3):
        tmp += 99 < t[i % 3] < 1000 and 99 < t[(i+1) % 3] < 1000 and not 99 < t[(i+2) % 3] < 1000
    return tmp

nums = [int(x) for x in open('17_2024.txt')]

max13 = max([x for x in nums if x % 100 == 13])

trio_sums = []

for x in zip(nums, nums[1:], nums[2:]):
    if is_3_digs(x) and sum(x) < max13:
        trio_sums.append(sum(x))

print(len(trio_sums), max(trio_sums))

Ответ: \(959\)    \(97471\)