Информатика: ОГЭ и ЕГЭ

Тренировка ЕГЭ · задание 17 · тройки соседних элементов

Задание 17 ЕГЭ: тройки соседних элементов

Тройки соседних элементов последовательности. Тема номера — обработка последовательности из файла. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.

Пример

Задание выполняется с использованием прилагаемого файла.

В файле 17.txt содержится последовательность из 9490 целых чисел. Элементы последовательности могут принимать целые значения от −10 000 до 10 000 включительно. Определите количество троек элементов последовательности, в которых ровно один из трёх элементов кратны 5, а сумма элементов тройки не больше максимального элемента последовательности, запись которого оканчивается цифрой 0.

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

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

Запишите два числа через пробел.

Скачать файл к примеру

Ответ3019 -26775

Решение

Сначала один проход по файлу: опорное значение R — максимального элемента последовательности, запись которого оканчивается цифрой 0, R = 10 000. Затем окно из трёх соседних элементов сдвигаем по одному: считаем, сколько элементов тройки обладают свойством, и сравниваем сумму тройки с R.

Ответ: 3019 -26775.

a = [int(x) for x in open('17.txt')]
R = max(x for x in a if abs(x) % 10 == 0)
sums = []
for i in range(len(a) - 2):
    t = a[i:i + 3]
    k = sum(1 for x in t if x % 5 == 0)
    if k == 1 and sum(t) <= R:
        sums.append(sum(t))
print(len(sums), min(sums))

Решить такую задачу — новый вариант с проверкой

Задание 17 ЕГЭ: другие виды

Все задачи задания 17 вперемешку · разбор: как решать задание 17 · пробные варианты ЕГЭ