ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий
Тип задачи: Электронные таблицы и формулы.
| КЭС: | 4.2 Анализ данных с помощью электронных таблиц. Вычисление суммы, среднего арифметического, наибольшего (наименьшего) значения диапазона. Вычисление коэффициента корреляции двух рядов данных. Построение столбчатых, линейчатых и круговых диаграмм. Построение графиков функций. Подбор линии тренда, решение задач прогнозирования. Решение задач оптимизации с помощью электронных таблиц |
| Тип ответа: | Краткий ответ |
Ответ: 245
Решение.
В приложенном файле 25000 строк по 6 натуральных чисел; первая строка уже содержит данные. Проверяем строки независимо и сохраняем их исходную нумерацию.
Составим частоты значений. Требуется ровно одно число, встречающееся три раза, и три других попарно различных числа, каждое по одному. Частоты должны быть ровно [1, 1, 1, 3].
Пусть повторяющееся значение равно t. Список repeat содержит все три его вхождения, список single — только неповторяющиеся значения.
Проверяем 3t² > u² + v² + w². Это сумма квадратов трёх повторяющихся ячеек. Нельзя заменять её квадратом суммы (3t)² — получится другое условие.
Для воспроизводимого подсчёта сохраним заполненный лист как текст с разделителями табуляции под именем data.txt в кодировке UTF-8. Заголовок добавлять не нужно. При экспорте должны сохраниться все 25000 строк и все 6 чисел каждой строки. Метод split() разбирает как табуляции, так и пробелы.
Следующая программа проверяет оба требования для каждой строки:
from collections import Counter
answer = 0
with open("data.txt", encoding="utf-8-sig") as f:
for number, line in enumerate(f, 1):
a = sorted(map(int, line.split()))
c = Counter(a)
single = [x for x in a if c[x] == 1]
repeat = [x for x in a if c[x] > 1]
ok = (sorted(c.values()) == [1, 1, 1, 3] and sum(x*x for x in repeat) > sum(x*x for x in single))
if ok:
answer += 1
print(answer)Counter хранит частоту каждого значения. Оператор and означает одновременное выполнение условий; если проверка частот не прошла, второе выражение не вычисляется.
Каждая строка учитывается не более одного раза. Полный проход даёт 245 подходящих строк.
Контроль нескольких найденных строк:
| Номер строки | Значения |
|---|---|
| 52 | 34, 126, 126, 168, 17, 126 |
| 72 | 126, 126, 80, 126, 135, 77 |
| 94 | 119, 44, 102, 102, 45, 102 |
| 24895 | 167, 167, 167, 21, 17, 57 |
| 24901 | 146, 44, 119, 146, 45, 146 |
Например, строка 52: Частоты значений равны [1, 1, 1, 3]; неповторяющиеся: [17, 34, 168], повторяющиеся с учётом всех вхождений: [126, 126, 126]. Суммы квадратов: 47628 > 29669.
Проверка выполнена также по исходному XLSX: независимый алгоритм подсчёта частот совпал по всем выбранным номерам строк.
Ответ: 245.
Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINF40F07C.
Сообщение увидит только команда сайта: на странице оно не публикуется.
Комментарии к решению
Комментарии видны всем посетителям сайта.
Комментариев пока нет. Будьте первым.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.