Решение. Сначала проверим первое и второе условия. Для этого в ячейку 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.
Приведём решение Юрия Красильникова на языке Python.
# Необходимо предварительно сохранить данные из таблицы LibreOffice Calc
# в файл .csv с разделителем ';'
ответ = 0
for строка in open('9.csv'):
числа = list(map(int, строка.split(';')))
повторы = [x for x in числа if числа.count(x)>1]
уникумы = [x for x in числа if числа.count(x)==1]
счетчики = [числа.count(x) for x in set(числа)]
if max(счетчики) >= 3 and 1 in счетчики and sum(повторы)/len(повторы) > sum(уникумы)/len(уникумы):
ответ += 1
print(ответ)