Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел.
Определите количество строк таблицы, для чисел которых одновременно выполнены все следующие условия:
— в строке есть повторяющиеся числа;
— максимальное число в строке не повторяется;
— сумма всех повторяющихся чисел в строке меньше максимального числа этой строки. При подсчёте суммы повторяющихся чисел каждое число учитывается столько раз, сколько оно встречается.
В ответе запишите число — количество строк, удовлетворяющих заданным условиям.
Для начала найдем, сколько раз числа повторяются в строке. Для этого
=СЧЁТЕСЛИ($A1:$F1;A1)
и скопируем ее на
Теперь проверим первое условие. Для этого
=ЕСЛИ(СУММ(G1:L1)>6;1;0)
и скопируем формулу до
=МАКС(A1:F1)
и скопируем формулу до
Теперь проверим второе условие. Для этого
=ЕСЛИ(СЧЁТЕСЛИ($A1:$F1;N1)=1;1;0)
и скопируем формулу до
Выпишем повторяющиеся числа без учета максимального. Для этого
=ЕСЛИ(И(G1>1;A1<>$N1);A1;0)
и скопируем ее на
Теперь проверим третье условие. Для этого
=ЕСЛИ(И(СУММ(P1:U1)< N1;СУММ(P1:U1)<>0);1;0)
и скопируем формулу до
=ЕСЛИ(И(M1=1;O1=1;V1=1);1;0)
и скопируем формулу до
Окончательно находим количество искомых строк. Для этого
и получаем ответ — 884.
Ответ: 884.
Приведём решение Бориса Савельева на языке Python.
f = open('9.txt')
cnt = 0
for s in f:
a = list(map(int, s.split()))
if len(set(a)) != len(a):
if a.count(max(a)) == 1:
suma = 0
for i in range (0,len(a)):
if a.count(a[i]) > 1:
suma += a[i]
if suma < max(a):
cnt += 1
print(cnt)
Приведём решение Ильи Андрианова на языке Python.
count = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
if len(M) != len(set(M)): # — в строке есть повторяющиеся числа;
if M.count(max(M)) == 1: # — максимальное число в строке не повторяется;
if sum([x for x in M if M.count(x) > 1]) < max(M):
count += 1
print(count)
Приведём решение Михаила Глинского на языке Python.
k = 0
for s in open('09.txt'):
m = [int(x) for x in s.split()]
m.sort()
pov = [x for x in m if m.count(x)>1]
nepov = [x for x in m if m.count(x)==1]
if m.count(m[-1]) == 1 and len(pov) > 0 and sum(pov) < m[-1]:
k += 1
print(k)
Примечание. Файл следует сохранить в формате txt.

