Алгоритм решения задания 15. Часть 3
Учимся решать 15 задания третьего типа
Читать
В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от —100 000 до 100 000 включительно.
Определите количество троек элементов последовательности, в которых хотя бы один из трёх элементов оканчивается на 3, а сумма элементов тройки не больше максимального элемента последовательности, являющегося пятизначным числом, которое оканчивается на 3.
В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
def is_val(num):
return abs(num) % 10 == 3
def cons(num):
# Пятизначное
cond_1 = 10_000 <= abs(num) < 100_000
# Оканчивается на 3
cond_2 = abs(num) % 10 == 3
return cond_1 and cond_2
with open('1703.txt') as f:
data = list(map(int, f))
max_el = max(num for num in data if cons(num))
answer = []
for x, y, z in zip(data, data[1:], data[2:]):
if (is_val(x) or is_val(y) or is_val(z))
and x + y + z <= max_el:
answer.append(x + y + z)
print(len(answer), max(answer))
