Решение. Сначала проверим первое и второе условия. Для этого в ячейку 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>0;СРЗНАЧ(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), получим ответ — 17.
Ответ: 17.
Приведём решение Бориса Савельева на языке Python.
f = open('09.txt')
k = 0
for i in f:
a=list(map(int,i.split()))
sum1=0
k1=0
sum2=0
k2=0
f=0
for j in range (0,len(a)):
if a.count(a[j]) > 1:
sum1+=a[j]
k1+=1
elif a.count(a[j])==1:
sum2+=a[j]
k2+=1
if a.count(a[j]) >= 3:
f=1
if k1!=0 and k2!=0 and f==1:
if sum1/k1 < sum2/k2:
k+=1
print(k)
Примечание. Файл необходимо сохранить в формате txt.
Приведём решение Юрия Красильникова на языке Python.
k = 0
for s in open('09.csv'):
a = list(map(int,s.split(';')))
unik = [x for x in a if a.count(x) == 1]
povt = [x for x in a if a.count(x) > 1]
cnt = [a.count(x) for x in a]
if len(unik) > 0 and max(cnt) >= 3 and sum(povt) / len(povt) < sum(unik )/ len(unik):
k += 1
print(k)
Примечание. Файл необходимо сохранить в формате csv