ФИПИ · ЕГЭ · Информатика · Задание 17

Задание 17. Обработка последовательности

44 заданий открытого банка ФИПИ: впишите ответ, при затруднении — подсказка; после ответа — разбор по шагам.

0
Решено
0
Правильно
0%
Точность

Задания открытого банка ФИПИ «Задание 17. Обработка последовательности» (информатика). Ответ вписывается так же, как в бланк ЕГЭ: число, слово или цифры подряд, без пробелов; если в ответе два числа — через пробел, как в таблице ответа (по строкам).

Неофициальная копия. Условия заданий — из открытого банка заданий ФИПИ (fipi.ru); номер у каждого задания открывает его в банке ФИПИ. Ответы, подсказки, разборы и рисунки подготовлены reknow.ru. Нашли ошибку — нажмите «Сообщить об ошибке» у задания.

Серия: 0

О теме

Задание 17 ЕГЭ по информатике. Умение составить программу на 10–15 строк для обработки числовой последовательности. На странице — 44 задания открытого банка ФИПИ: ответ проверяется сразу, есть подсказка и подробный разбор.

Примеры заданий

Это несколько заданий из тренажёра, остальные — в тренажёре в начале страницы.

ФИПИ № 03B67F ↗

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

 

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

 

Файл к заданию (txt)
Показать ответ
Ответ: 622 174933
Решение.
  1. Считываем все числа файла в список и находим минимальный элемент последовательности (для данного файла он равен 8).
  2. Перебираем пары соседних элементов (a[i], a[i+1]). Пара подходит, если a[i] % 33 или a[i+1] % 33 равен минимуму («хотя бы один из элементов»).
  3. Для подходящих пар считаем их количество и максимальную сумму.
  4. Программа:
    a = [int(x) for x in open('17.txt')]
    m = min(a)
    cnt, best = 0, 0
    for i in range(len(a) - 1):
        if a[i] % 33 == m or a[i + 1] % 33 == m:
            cnt += 1
            best = max(best, a[i] + a[i + 1])
    print(cnt, best)
  5. Результат работы программы: 622 пары, наибольшая сумма 174933. Ответ: 622 174933.
ФИПИ № 0A2c26 ↗

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

 

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

 

Файл к заданию (txt)
Показать ответ
Ответ: 639 3716
Решение.
  1. Считываем все числа файла и находим минимальный элемент последовательности (здесь он равен 8).
  2. Перебираем пары соседних элементов: пара подходит, если a[i] % 12 + a[i+1] % 12 равно минимуму.
  3. Для подходящих пар считаем количество и минимальную сумму элементов.
  4. Программа:
    a = [int(x) for x in open('17.txt')]
    m = min(a)
    sums = [a[i] + a[i + 1] for i in range(len(a) - 1)
            if a[i] % 12 + a[i + 1] % 12 == m]
    print(len(sums), min(sums))
  5. Результат: 639 пар, минимальная сумма 3716. Ответ: 639 3716.