Назовём четвёркой четыре идущих подряд элемента последовательности.
Условие
Файл содержит последовательность натуральных чисел, не превышающих 100 000. Назовём четвёркой четыре идущих подряд элемента последовательности.
Задание 17Определите количество четвёрок, для которых выполняются следующие условия:— в четвёрке есть хотя бы одно пятизначное число и хотя бы два не пятизначных;— в четвёрке меньше чисел, кратных 3, чем чисел, кратных 7;— сумма элементов четвёрки больше максимального элемента последовательности, запись которого заканчивается на 562, но меньше удвоенного значения этого элемента. Гарантируется, что в последовательности есть хотя бы один элемент, запись которого заканчивается на 562. В ответе запишите два числа: сначала количество найденных четвёрок, затем максимальную величину суммы элементов этих четвёрок. Ответ:
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python.a = [int(s) for s in open('17.txt')]a562 = max([x for x in a if x % 1000 == 562])s4 = []for i in range (len(a) - 3): cetverka = [a[i] , a[i+1] , a[i+2], a[i+3]] a5 = [x for x in cetverka if len(str(x)) >= 5] anot5 = [x for x in cetverka if len(str(x)) != 5] a3 = [x for x in cetverka if x % 3 == 0] a7 = [x for x in cetverka if x % 7 == 0] if len(a5) >= 1 and len(anot5) >= 2: if len(a3) < len(a7): if sum(cetverka) > a562 and sum(cetverka) < a562*2: s4.append(sum(cetverka))print(len(s4),max(s4)) В результате работы данного алгоритма при вводе данных из файла ответ — 229
Осталось ещё 1 шаг
Приведём решение Юрия Красильникова на языке…
Бесплатно · займёт минуту