1708.py

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от -100 000 до 100 000 включительно. В файле содержится последовательность целых чисел, каждое из которых по модулю не превышает 100 000. Определите количество троек элементов последовательности, в которых больше одного из трёх элементов оканчиваются на 3 или 5, а произведение элементов тройки не больше куба максимального четырёхзначного элемента последовательности. В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
"""

В файле содержится последовательность целых чисел. 
Её элементы могут принимать целые значения 
от -100 000 до 100 000 включительно. 
В файле содержится последовательность 
целых чисел, каждое из которых по модулю не превышает 100 000. 

Определите количество троек элементов последовательности, 
в которых больше одного из трёх элементов оканчиваются на 3 или 5,
а произведение элементов тройки не больше куба максимального 
четырёхзначного элемента последовательности.

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

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

"""

f = open('1708.txt') # открываем файл
#print(f.readline()) # для проверки

a = [int(s) for s in f] # читаем файл построчно и добавляем в список
#print(a) # для проверки

"""
ПРОВЕРКА УСЛОВИЯ: 
поиск максимального четырёхзначного элемента
"""

max4 = [] # список для максимальных элементов оканчивающихся на 25
for x in a:
    if len(str(abs(x))) == 4:
        max4.append(x)
max4 = max(max4) # находим максимальный элемент в списке

print(max4) # для проверки

"""
ПРОВЕРКА УСЛОВИЯ: 
больше одного из трёх элементов оканчиваются на 3 или 5,
а произведение элементов тройки не больше куба max4
"""
sum_tri = [] # список для сумм троек

for i in range(len(a) - 2):
    c = (abs(a[i])   % 10 in (3, 5)) + \
        (abs(a[i+1]) % 10 in (3, 5)) + \
        (abs(a[i+2]) % 10 in (3, 5))
    if c > 1 and a[i] * a[i+1] * a[i+2] <= max4 ** 3:
        sum_tri.append(a[i] + a[i+1] + a[i+2])

"""
ВЫВОДИМ ОТВЕТ: КОЛИЧЕСТВО ТРОЕК И МАКСИМАЛЬНУЮ СУММУ ТРОЕК
"""
print(len(sum_tri), max(sum_tri))
"""

В файле содержится последовательность целых чисел. 
Её элементы могут принимать целые значения 
от -100 000 до 100 000 включительно. 
В файле содержится последовательность 
целых чисел, каждое из которых по модулю не превышает 100 000. 

Определите количество троек элементов последовательности, 
в которых больше одного из трёх элементов оканчиваются на 3 или 5,
а произведение элементов тройки не больше куба максимального 
четырёхзначного элемента последовательности.

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

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

"""

f = open('1708.txt') # открываем файл
#print(f.readline()) # для проверки

a = [int(s) for s in f] # читаем файл построчно и добавляем в список
#print(a) # для проверки

"""
ПРОВЕРКА УСЛОВИЯ: 
поиск максимального четырёхзначного элемента
"""

max4 = [] # список для максимальных элементов оканчивающихся на 25
for x in a:
    if len(str(abs(x))) == 4:
        max4.append(x)
max4 = max(max4) # находим максимальный элемент в списке

print(max4) # для проверки

"""
ПРОВЕРКА УСЛОВИЯ: 
больше одного из трёх элементов оканчиваются на 3 или 5,
а произведение элементов тройки не больше куба max4
"""
sum_tri = [] # список для сумм троек

for i in range(len(a) - 2):
    c = (abs(a[i])   % 10 in (3, 5)) + \
        (abs(a[i+1]) % 10 in (3, 5)) + \
        (abs(a[i+2]) % 10 in (3, 5))
    if c > 1 and a[i] * a[i+1] * a[i+2] <= max4 ** 3:
        sum_tri.append(a[i] + a[i+1] + a[i+2])

"""
ВЫВОДИМ ОТВЕТ: КОЛИЧЕСТВО ТРОЕК И МАКСИМАЛЬНУЮ СУММУ ТРОЕК
"""
print(len(sum_tri), max(sum_tri))

Файлы данных

Репозиторий на GitHub