Задача к ЕГЭ по информатике на тему «задачи под вебы» №44

Задача с сайта https://kpolyakov.spb.ru/

В файле электронной таблицы 9-227.xls в каждой строке записаны четыре натуральных числа. Определите количество строк таблицы, для которых выполнены следующие условия:

– только одно число встречается в строке дважды;

– сумма двух самых больших чисел строки более чем в два раза больше суммы двух самых малых;

– максимальное число строки не кратно минимальному.

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

Решение в Excel

В ячейку E1  запишем формулу: = СЧ ЕТЕ СЛИ ($A1:$D1;A1 )  и растянем вправо до ячейки H1  включительно, а также вниз до конца таблицы.

В ячейку I1  запишем формулу: = Н АИ БО ЛЬШ  ИЙ ($A1 : $D1; 1)  и растянем ее вправо до ячейки L1  включительно, меняя второй аргумент функции с 1 на 2, 3 и 4 соответственно и вниз до конца таблицы.

В столбцах M  и N  найдем сумму двух самых больших и сумму двух самых маленьких чисел в строке. Для этого в ячейки M 1  и N 1  запишем соответственно формулы:

= I1 + J1

= K1 + L1

и растянем их вниз до конца таблицы.

В столбце O  проверим выполнение первого условия и в ячейку O1  запишем формулу: = ЕСЛ И(СУ М М(E1 : H1 ) = 6;1;0)  и растянем ее вниз до конца таблицы.

В столбце P  проверим выполнение второго условия и в ячейку P1  запишем формулу: = ЕС ЛИ(M 1 > N 1∗2;1;0)  » class=»math» src=»/images/inform/reshen/reshen-7756-18.svg» width=»auto»> и растянем ее вниз до конца таблицы. </p>
<p class= В столбце Q  проверим выполнение третьего условия и в ячейку Q1  запишем формулу: = ЕСЛ И(О СТА Т(I1;L1 ) <> 0;1;0)  » class=»math» src=»/images/inform/reshen/reshen-7756-21.svg» width=»auto»> и растянем ее вниз до конца таблицы. </p>
<p class= Для того, чтобы выполнялись сразу три условия, произведение ячеек O1  , P1  и Q1  должно быть равно 1. Для этого запишем формулу в ячейку R1  : = O1 ∗P 1∗Q1  и растянем ее вниз до конца таблицы.

Выделяем столбец R  и получаем ответ 125.

Программное решение

f = open(’9-227.csv’)
c = 0
for i in f:
    a = sorted(list(map(int, i.split(’;’))))
# Проверяем три условия:
# 1. Уникальных элементов в списке a должно быть ровно 3
# 2. Сумма двух наибольших элементов должна быть больше удвоенной
# суммы двух наименьших элементов
# 3. Четвертый по величине элемент не должен быть кратен наименьшему элементу
    if (len(set(a)) == 3) and (a[2] + a[3] > (a[0] + a[1]) * 2)
    and (a[3] % a[0] != 0):
        c += 1 # Если все условия выполнены, увеличиваем счетчик c на 1
print(c)

Ответ: 125
Оцените статью
Я решу все!