Тип 9 № 79722 

Работа с таблицами. Задания для подготовки
i
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество
строк таблицы, для чисел которых выполнены оба условия:
— в строке все числа различны;
— сумма двух наибольших чисел строки не больше суммы трёх её оставшихся чисел.
В ответе запишите только число.
Задание 9
Спрятать решениеРешение. Сначала проверим первое условие. Для этого в ячейку F1 введем формулу:
=СЧЁТЕСЛИ($A1:$E1;A1) и скопируем эту формулу во все оставшиеся ячейки
диапазона F1:J16000.В ячейку K1
введем формулу:
=ЕСЛИ(СУММ(F1:J1)=5;1;0) и скопируем эту формулу во все оставшиеся ячейки
диапазона K1:K16000. Если в строке все числа различны, в ячейке K будет стоять число 1, иначе будет
стоять 0. Проверим второе условие.
В ячейку L1
введем формулу:
=НАИБОЛЬШИЙ(A1:E1;1)+НАИБОЛЬШИЙ(A1:E1;2) и скопируем эту формулу во все оставшиеся ячейки
диапазона L1:L16000.В ячейку M1 введем формулу:
=СУММ(A1:E1)-L1 и скопируем эту формулу во все оставшиеся ячейки
диапазона M1:M16000.В ячейку N1 введем формулу:
=ЕСЛИ(M1>=L1;1;0) и скопируем эту формулу во все оставшиеся ячейки
диапазона N1:N16000. Если выполняется второе условие, в ячейке N будет стоять число 1, иначе будет
стоять 0. В ячейку O1 введем формулу:
=ЕСЛИ(K1+N1=2;1;0) и скопируем эту формулу во все оставшиеся ячейки
диапазона O1:O16000. Если выполняется оба условия, в ячейке O будет стоять число 1, иначе будет
стоять 0. Окончательно воспользовавшись формулой:
=СУММ(O1:O16000), получим ответ — 1922.
Ответ: 1922.
Приведём решение Юрия Красильникова на языке Python.
f = open('1_9.csv')
k = 0
for s in f:
a = sorted(list(map(int,s.split(';'))))
if len(a) == len(set(a)) and sum(a[3:]) <= sum(a[:3]): k += 1
print(k)
Примечание. Файл следует сохранить в формате CSV.
Ответ: 1922