РУҚА
27

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

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

Программа на Python 3 использует четыре счётчика типов чисел, работает за $O(N)$ времени и использует $O(1)$ дополнительной памяти.

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

Условие

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

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

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

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

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

Пример входных данных: $4, 2, 6, 29, 87$. Пример выходных данных: $4$.

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

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

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

Считать достаточным наличие множителя $2$ или только множителя $29$.

Увеличивать счётчик текущего типа до подсчёта пар с текущим числом, из-за чего число может образовать пару само с собой.

Хранить всю последовательность, хотя для решения достаточно четырёх счётчиков.

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

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

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

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