Файл содержит последовательность натуральных чисел, не превышающих 100 000. Назовём тройкой три идущих подряд элемента последовательности.
Определите количество троек, для которых выполняются следующие условия:
— остаток от деления на 3 ровно одного числа из тройки равен остатку от деления на 3 минимального элемента всей последовательности;
— остаток от деления на 7 хотя бы двух чисел из тройки равен остатку от деления на 7 максимального элемента всей последовательности.
В ответе запишите два числа: сначала количество найденных троек, затем максимальную величину суммы элементов этих троек.
Ответ:
Приведём решение на языке Python.
a = [int(s) for s in open('17.txt')]
amin3 = min(a) % 3
amax7 = max(a) % 7
s3 = []
for i in range (len(a) - 2):
troika = [a[i] , a[i+1] , a[i+2]]
a3 = [x for x in troika if x % 3 == amin3]
a7 = [x for x in troika if x % 7 == amax7]
if len(a3) == 1 and len(a7) >= 2:
s3.append(sum(troika))
print(len(s3),max(s3))
Ответ: 228 и 262713.

