Тип 9 № 48430 

Работа с таблицами. Задания для подготовки
i
В каждой строке электронной таблицы записаны шесть натуральных чисел. Определите, сколько в таблице строк, для которых выполнены следующие условия:
— в строке встречается ровно четыре различных числа; два из них по два раза, два — по одному;
— сумма повторяющихся чисел (без учёта повторений, то есть каждое число входит в сумму один раз) меньше суммы неповторяющихся.
В ответе запишите число — количество строк, для которых выполнены эти условия.
Задание 9
Решение. Для решения задачи выпишем в столбцы от G до L повторяющиеся значения, в столбцы от M до R — значения без повторений.
Выпишем в ячейку G1 формулу:
=ЕСЛИ(СЧЁТЕСЛИ($A1:$F1;A1)=2; A1;"").
Данная формула вернет в ячейку значение из ячейки A1 если оно встречается более 1 раза. Скопируем формулу на диапазон G1:L6400.
В ячейку М1 выпишем формулу =ЕСЛИ(G1="";A1;"") и скопируем ее на диапазон M1:R6400. Данная формула вернет значение в ячейки, если они не повторяются.
В столбце S будем считать количество строк, удовлетворяющих нашему решению. Для этого введем формулу:
=ЕСЛИ(СЧЁТЕСЛИ(G1:L1;"")=2;ЕСЛИ(СУММ(G1:L1)/2<СУММ(M1:R1);1;0);0)
и скопируем ее на весь диапазон S1:S6400.
Посчитаем количество строк, удовлетворяющих нашему условию, формулой: =СУММ(S1:S6400).
Ответ: 351.
Приведём решение Алиева Рамира на языке Python.
y = [list(map(int,i.split())) for i in open('09.txt')]
q = 0
for u in y:
if len(set(u))== 4:
if all(('__'+'__'.join(list(map(str,u)))+'__').count('_'+str(n)+'_') !=3 for n in u):
if sum(u)-sum(set(u))< 2*sum(set(u))-sum(u):
q += 1
print(q)
Приведём решение Файзуллина Владимира (Пермь) на языке Python.:
def kp(x):
pk=[]
for i in range(len(x)):
pk+=[x.count(x[i])]
return pk
k=0
for a in open('99.txt'):
s1 = 0
s2 = 0
x = list(map(int, a.split()))
kel = kp(x)
id = sum([1,1,2,2,2,2])
if sum(kel) == id:
for i in range(len(x)):
if kel[i] == 2:
s1 += x[i]
if kel[i] == 1:
s2 += x[i]
if s1/2 < s2:
k += 1
print(k)
Приведём решение Дмитрия Пехова на языке Python.:
f = open('09.txt')
count = 0
for i in f:
l = [int(x) for x in i.split()]
repeat = [x for x in l if l.count(x) == 2]
nonrepeat = [x for x in l if l.count(x) == 1]
if len(repeat) == 4 and len(nonrepeat) == 2 and sum(repeat) // 2 < sum(nonrepeat):
count += 1
print(count)
Приведём решение Бориса Савельева на языке Python.:
f = open('09.txt')
cnt = 0
for s in f:
a=list(map(int,s.split()))
p = []
if len(set(a)) == 4:
for i in range(len(a)):
if a.count(a[i]) == 2:
p.append(a[i])
if len(p)==4:
if sum(set(p))<(sum(a)-sum(p)):
cnt+=1
print(cnt)
Примечание. Файл следует сохранить в формате txt.
Ответ: 351