Тип 9 № 72567 

Работа с таблицами. Задания для подготовки
i
В каждой строке электронной таблицы записаны шесть натуральных чисел.
Определите количество строк таблицы, содержащих числа, для которых одновременно выполнены все следующие условия:
— в строке есть число, повторяющееся не меньше трёх раз;
— в строке есть число, не повторяющееся в этой строке;
— среднее арифметическое всех повторяющихся чисел строки (с учётом количества повторений) больше среднего арифметического неповторяющихся чисел этой строки.
В ответе запишите число — количество строк, удовлетворяющих заданным условиям.
Задание 9
Спрятать решениеРешение. Сначала проверим первое и второе условия. Для этого в ячейку G1 введем формулу:
=СЧЁТЕСЛИ($A1:$F1;A1) и скопируем эту формулу во все оставшиеся ячейки
диапазона G1:L30000.В ячейку M1 введем формулу:
=СЧЁТЕСЛИ(G1:L1; "=1") и скопируем эту формулу во все оставшиеся ячейки
диапазона M2:M30000. Если в строке есть не повторяющихся числа, в ячейке М будет стоять число большее 0, иначе будет
стоять 0. В ячейку N1 введем формулу:
=СЧЁТЕСЛИ(G1:L1;">2") и скопируем эту формулу во все оставшиеся ячейки
диапазона N2:N30000. Если в строке есть повторяющихся более трех раз числа, в ячейке N будет стоять число большее 0, иначе будет
стоять 0. Для проверки третьего условия в ячейку O1 введем формулу:
=ЕСЛИ(G1=1;A1;"") и скопируем эту формулу в ячейки
диапазона O1:T30000.В данном диапазоне мы получим только не повторяющиеся числа.
В ячейку U1 введем формулу:
=ЕСЛИ(M1<>0;СРЗНАЧ(O1:T1);0) и скопируем эту формулу во все оставшиеся ячейки
диапазона U2:U30000. В этом столбце будет среднее значение не повторяющихся чисел.
В ячейку V1 введем формулу:
=ЕСЛИ(G1<>1;A1;"") и скопируем эту формулу во все оставшиеся ячейки
диапазона V1:AA30000. В данном диапазоне мы получим только повторяющиеся числа.
В ячейку AB1 введем формулу:
=ЕСЛИ(N1>=3;СРЗНАЧ(V1:AA1);0) и скопируем эту формулу во все оставшиеся ячейки
диапазона AB2:AB30000. В этом столбце будет среднее значение повторяющихся чисел.
В ячейку AC1 введем формулу:
=ЕСЛИ(AB1>U1;1;0) и скопируем эту формулу во все оставшиеся ячейки
диапазона AC2:AC30000. В этом столбце будет 1 если выполняется третье условие, и 0 если не выполняется.
В ячейку AD1 введем формулу:
=ЕСЛИ(И(M1<>0;N1<>0;AC1<>0);1;0) и скопируем эту формулу во все оставшиеся ячейки
диапазона AD2:AD30000. В этом столбце будет 1 если выполняются все условия, и 0 если не выполняются.
Окончательно воспользовавшись формулой:
=СУММ(AD1:AD30000), получим ответ — 34.
Ответ: 34.
Приведём решение Бориса Савельева на языке Python.
f = open('09.txt')
k = 0
for i in f:
a = list(map(int, i.split()))
if len(set(a))<=4:
suma1=0
k1=0
suma2=0
k2=0
f=0
for j in range (0,len(a)):
if a.count(a[j])>=3:
f=1
if a.count(a[j])>1:
suma1+=a[j]
k1+=1
elif a.count(a[j])==1:
suma2+=a[j]
k2+=1
if k1!=0 and k2!=0:
if f==1 and suma1/k1>suma2/k2:
k+=1
print(k)
Примечание. Файл необходимо сохранить в формате txt.
Ответ: 34