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

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

Ответ: 118

Условие

Откройте файл электронной таблицы, содержащей в каждой строке четыре натуральных числа.

Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:

— наименьшее из четырёх чисел более чем в шесть раз меньше суммы трёх других;

— произведение наибольшего и наименьшего числа больше произведения оставшихся чисел.

В ответе запишите только число.

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

  1. Найди в строке минимум, максимум и два средних числа. «Более чем в шесть раз меньше» значит, что минимум, умноженный на шесть, строго меньше суммы трёх остальных — равенство не подходит, условие строгое.
  2. Второе условие про произведение: наибольшее число умножается на наименьшее и сравнивается с произведением двух средних, а не с их суммой. Оба условия должны выполняться одновременно, счётчик увеличивай только при их совместной истине.

Решение

Посчитаем количество ячеек, удовлетворяющих условиям. В ячейку E1 введем формулу =МИН(A1:D1) для нахождения минимального значения. Скопируем формулу на весь диапазон E1:E1000. В ячейку F1 введем формулу =СУММ(A1:D1)-МИН(A1:D1) для поиска суммы оставшихся трех чисел. Скопируем формулу на весь диапазон F1:F1000. В ячейку G1 введем формулу =ЕСЛИ(F1>6*E1;1;0) для поиска ячеек удовлетворяющих первому условию. Скопируем формулу на весь диапазон G1:G1000. Для поиска ячеек удовлетворяющих второму условию в ячейку H1 введем формулу:

=ЕСЛИ(МАКС(A1:D1)*МИН(A1:D1)>НАИБОЛЬШИЙ(A1:D1;2)*НАИМЕНЬШИЙ(A1:D1;2);1;0).

Cкопируем формулу на весь диапазон H1:H1000. Если значение в ячейках по столбцам G и H равны 1, то такая строка удовлетворяет двум условиям. Для поиска таких строк в ячейку I1 введем формулу:

=ЕСЛИ(И(G1=1;H1=1);1;0)

и скопируем формулу на весь диапазон I1:I1000. Теперь найдём количество строк, удовлетворяющих условию, введя формулу =СУММ(I1:I1000). Тогда ответ — 118.

Ответ: 118.

Приведём решение Андрианова Ильи на языке Python.

count = 0

for s in open('9.txt'):

M = sorted([int(i) for i in s.split()])

if (6 * M[0]) < (M[1] + M[2] + M[3]):

if (M[3] * M[0]) > (M[1] * M[2]):

count += 1

print(count)

Приведём решение Артёма Божко на языке Python.

f = open('9_58321.txt')

f = f.readlines()

sp = []

k = 0

for i in f:

sp.append(i.replace('\n', '').split())

for j in sp:

i = list(map(int, j))

i.sort()

a = int(i[0])

b = int(i[1])

c = int(i[2])

d = int(i[3])

if (a*6 < sum([b, c, d])) and (a*d > b*c):

k += 1

print(k)

Ответ: 118

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

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

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