РУҚА
27

Ответ: Подсчёт пар с произведением

ЕГЭ · Информатика · Задание 27 · Массивы и строки
ВысокаяФИПИF9556DРазвёрнутое решение≈ 15 минут
Что должно получиться

Алгоритм за $O(N)$ времени и $O(1)$ дополнительной памяти: последовательно подсчитывать подходящие пары с текущим числом, используя количества предыдущих чётных чисел, чисел, кратных $5$, и чисел, кратных $10$. Язык: Python 3.

У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.

Условие

На вход программы поступает последовательность из $N$ целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности: элементы пары могут быть расположены в последовательности не рядом, порядок элементов в паре неважен. Необходимо определить количество пар, для которых произведение элементов делится без остатка на $10$.

В первой строке входных данных задаётся количество чисел $N$ ($1 \leq N \leq 1000$). В каждой из последующих $N$ строк записано одно целое положительное число, не превышающее $10\,000$.

В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов кратно $10$.

Пример входных данных:
4
2
6
5
15

Пример выходных данных:
4

Из четырёх заданных чисел можно составить 6 попарных произведений: $2\cdot6$, $2\cdot5$, $2\cdot15$, $6\cdot5$, $6\cdot15$, $5\cdot15$. На $10$ без остатка делятся четыре произведения: $2\cdot5$, $2\cdot15$, $6\cdot5$, $6\cdot15$.

Требуется написать эффективную по времени и памяти программу. При увеличении $N$ в $k$ раз время работы программы должно увеличиваться не более чем в $k$ раз. Память, необходимая для хранения всех переменных программы, не должна превышать 1 килобайта и не должна увеличиваться с ростом $N$.

Перед текстом программы необходимо кратко описать алгоритм решения, а также указать использованный язык программирования и его версию.

Открыть задачу и решить самому

Где здесь ошибаются

Сохранять всю последовательность, из-за чего память зависит от $N$.

Перебирать все пары и получать сложность $O(N^2)$.

Для числа, кратного $10$, дважды учитывать пары с предыдущими числами, кратными $10$.

Не исключать случай, когда один и тот же элемент одновременно является чётным и кратен $5$.

Откуда взялся этот ответРазбор разложен на 8 шагов: видно каждое преобразование и где теряется балл.
Открыть решение

Ответ к заданию 27 ЕГЭ, информатика

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

Задача из темы «Массивы и строки»: в ней 238 задач — у каждой есть ответ и разбор по шагам. Регистрация не нужна.