В каждой строке электронной таблицы записаны шесть натуральных чисел.
Определите, сколько в таблице строк, для которых выполнены следующие условия:
— в строке есть как повторяющиеся, так и неповторяющиеся числа;
— среднее арифметическое всех неповторяющихся чисел строки меньше, чем среднее арифметическое всех повторяющихся чисел этой строки.
При вычислении средних значений каждое число учитывается столько раз, сколько оно встречается в строке.
В ответе запишите число — количество строк, для которых выполнены эти условия.
Для начала посчитаем, сколько раз встречается то или иное число в строке, для этого
=ЕСЛИ(И(СУММ(G1:L1) > 6; ИЛИ(G1 = 1; H1 = 1; I1 = 1; J1 = 1; K1 = 1; L1 = 1)); 1; 0)
в ячейку M1. Найдем теперь среднее арифметическое повторяющихся и неповторяющихся чисел.
и протягиваем до S1 и до конца таблицы.
=ЕСЛИ(M1 = 1; СРЗНАЧ(N1:S1);" ").
Аналогично находим среднее арифметическое для повторяющихся чисел (для них
Ответ: 1770.
Примечание. В файле приведенного задания СтатГрад используются нули, что противоречит определению «натуральные числа». Данная опечатка не влияет на ответ.
Приведём решение Дарьи Ковалевой на языке Python.
f = open('09.txt')
count = 0
for s in f:
m = [int(x) for x in s.split()]
p = [int(x) for x in m if m.count(x)>1]
n = [int(x) for x in m if m.count(x)==1]
if len(p)>0 and len(n)>0:
if sum(n)/len(n) < sum(p)/len(p):
count += 1
print(count)
Примечание. Файл следует сохранить в формате txt.
Приведём решение Сергея Калугина на языке Python.
f = open('09.csv')
cnt = 0
for s in f:
a = list(map(int,s.split(';')))
p=[]
n=[]
for i in range(len(a)):
if a.count(a[i]) > 1 and len(set(a)) < 6:
p.append(a[i])
else:
n.append(a[i])
if len(p) > 0 and len(n) > 0:
if sum(n)/len(n) < sum(p)/len(p):
cnt += 1
print(cnt)
Примечание. Файл следует сохранить в формате csv.
Примечание. В файле приведенного задания СтатГрад используются нули, что противоречит определению натуральные числа. Данная опечатка не влияет на ответ.

