πЕГЭ · ИИ-репетитор12 предметов · задания ФИПИ
Главная → Информатика → Задания №9 → Задание i09-03

Задание №9 ЕГЭ Информатика с ответом и решением

Ответ: 3119

Условие

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

Подсказки — как подойти к решению

  1. Переведи геометрию в арифметику: три грани с общей вершиной — это три произведения пар рёбер из тройки чисел строки, поэтому вся работа сводится к сравнениям произведений.
  2. Для каждой строки найди наибольшее и наименьшее числа: наибольшая площадь — произведение двух больших чисел, а две другие площади получаются умножением наименьшего числа на наибольшее и на среднее по величине.
  3. Сравни сумму двух меньших площадей с наибольшей строгим «меньше», пометь строку единицей или нулём формулой ЕСЛИ и сложи пометки по всему столбцу.

Решение

Для нахождения количества параллелепипедов, удовлетворяющих условию, необходимо найти площадь наибольшей грани и сумма площадей двух других граней. То есть для каждой тройки чисел необходимо найти произведение двух наибольших чисел, а также сумму произведений наибольшего и наименьшего чисел и среднего по величине и наименьшего чисел. В ячейку D1 запишем формулу:

=МАКС(A1:C1)*(СУММ(A1:C1)-МАКС(A1:C1)-МИН(A1:C1))

и скопируем её во все ячейки диапазона D2:D5000. Таким образом, для каждой тройки чисел найдём произведение двух наибольших чисел. В ячейку E1 запишем формулу:

=МАКС(A1:C1)*МИН(A1:C1)+(СУММ(A1:C1)-МАКС(A1:C1)-МИН(A1:C1))*МИН(A1:C1)

и скопируем её во все ячейки диапазона E2:E5000. Таким образом, для каждой тройки чисел найдём сумму произведений наибольшего и наименьшего чисел и среднего по величине и наименьшего чисел. Теперь в ячейке F1 запишем формулу =ЕСЛИ(D1>E1;1;0) и скопируем её во все ячейки диапазона F2:F5000. Окончательно с помощью формулы =СУММ(F1:F5000) получим ответ — 3119.

Ответ: 3119.

Приведём решение Сергея Калугина на языке Python.

cnt = 0

f = open('09.csv')

for s in f:

a = list(map(int,s.split(';')))

a.sort()

if a[0]*a[2] + a[0]*a[1] < a[1]*a[2]:

cnt+=1

print(cnt)

Примечание. Файл следует сохранить в формате CSV.

Ответ: 3119

Типичные ошибки

Решить это задание в тренажёре

В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №9 по информатике