Тип 9 № 69915 
Работа с таблицами. Задания для подготовки
i
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для чисел которых выполнены оба условия:
— в строке есть ровно одно число, которое повторяется трижды, и остальные числа без повторений;
— квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех неповторяющихся чисел строки.
В ответе запишите только число.
Задание 9
Решение. Сначала проверим первое условие. Для этого в ячейку G1 введем формулу:
=СЧЁТЕСЛИ($A1:$F1;A1)
и скопируем эту формулу во все оставшиеся ячейки диапазона G1:L20000.
В ячейку M1 введем формулу:
=ЕСЛИ(И(СЧЁТЕСЛИ(G1:L1;1)=3;СЧЁТЕСЛИ(G1:L1;3)=3);1;0)
и скопируем эту формулу во все оставшиеся ячейки диапазона M2:M20000. Если в строке 3 повторяющихся числа и 3 различных, в ячейке М будет стоять 1, иначе будет стоять 0.
Для проверки второго условия в ячейку N1 введем формулу:
=ЕСЛИ(G1=3;A1;"")
и скопируем эту формулу в ячейки диапазона N1:S20000. В данном диапазоне мы получим только повторяющиеся трижды числа.
В ячейку Т1 введем формулу:
=СУММ(N1:S1)
и скопируем эту формулу во все оставшиеся ячейки диапазона Т2:Т20000. В этом столбце будет сумма повторяющихся чисел.
В ячейку U1 введем формулу:
=СУММ(A1:F1)-T1
и скопируем эту формулу во все оставшиеся ячейки диапазона U2:U20000. В этом столбце будет сумма неповторяющихся чисел. (Заметим, что для строк без повторяющихся чисел эта формула не будет правильно работать, но такие строки не подходят по первому условию.)
Проверим строки, подходящие под оба условия. Для этого в ячейку V1 введем формулу:
=ЕСЛИ(И(M1=1;T1*T1>U1*U1);1;0)
и скопируем эту формулу во все оставшиеся ячейки диапазона U2:U20000.
Окончательно воспользовавшись формулой:
=СУММ(V:V),
получим ответ — 40.
Ответ: 40.
Приведём решение Бориса Савельева на языке Python.
f = open('69915.txt')
k = 0
for i in f:
a=list(map(int,i.split()))
if len(set(a)) == 4:
suma = 0
for j in range (0,len(a)):
if a.count(a[j])==3:
suma += a[j]
if suma**2 > (sum(a)-suma)**2:
k += 1
print(k)
Примечание. Приведенный файл требуется сохранить как текстовый документ.
Ответ: 40