В каждой строке электронной таблицы записаны шесть натуральных чисел.
Определите количество строк таблицы, содержащих числа, для которых одновременно выполнены все следующие условия:
— в строке есть число, повторяющееся не меньше трёх раз;
— в строке есть число, не повторяющееся в этой строке;
— среднее арифметическое всех повторяющихся чисел строки (с учётом количества повторений) больше среднего арифметического неповторяющихся чисел этой строки.
В ответе запишите число — количество строк, удовлетворяющих заданным условиям.
Сначала проверим первое и второе условия. Для этого
Для проверки третьего условия
В данном диапазоне мы получим только не повторяющиеся числа.
В данном диапазоне мы получим только повторяющиеся числа.
Окончательно воспользовавшись формулой:
Ответ: 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(ответ)

