Задание 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\)