Тип 9 № 83139 

Работа с таблицами. Задания для подготовки
i
Откройте файл электронной таблицы, содержащей в каждой строке восемь натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
— в строке минимальное число встречается два или три раза, остальные числа без повторений;
— сумма квадратов минимального и максимального из неповторяющихся чисел не больше квадрата суммы других неповторяющихся.
В ответе запишите только число.
Задание 9
Решение. Приведём решение на языке Python.
f = open('9.txt')
st = 0
for s in f:
m = [int(x) for x in s.split()]
mini_m = min(m)
rep = [x for x in m if (m.count(x) == 2 or m.count(x) == 3) and x == mini_m]
no_repeat = [x for x in m if m.count(x) == 1]
if (len(rep) == 2 and len(no_repeat) == 6) or (len(rep) == 3 and len(no_repeat) == 5):
if max(no_repeat)**2+min(no_repeat)**2 <= (sum(no_repeat)-max(no_repeat)-min(no_repeat))**2:
st += 1
print(st)
Примечание. Файл следует сохранить в формате txt.
Ответ: 752.
Приведём решение Бориса Савельева на языке Python.
f=open('9.txt')
k=0
for i in f:
a=sorted([int(x) for x in i.split()])
if a.count(min(a))==2 and len(set(a))==7 and ((a[2]**2+a[7]**2)<=((a[3]+a[4])+a[5]+a[6])**2):
k+=1
elif a.count(min(a))==3 and len(set(a))==6 and ((a[3]**2+a[7]**2)<=((+a[4])+a[5]+a[6])**2):
k+=1
print(k)
Примечание. Файл следует сохранить в формате txt.
Приведём решение Юрия Красильникова на языке Python.
ответ = 0
for строка in open('9.csv'):
числа = list(map(int, строка.split(';')))
минимум = [x for x in числа if x==min(числа)]
остальные = sorted([x for x in числа if x!=min(числа)])
if 2 <= len(минимум) <= 3 and len(остальные) == len(set(остальные)) and остальные[0]**2+остальные[-1]**2 <= sum(остальные[1:-1])**2:
ответ += 1
print(ответ)
Примечание. Файл следует сохранить в формате csv.
Приведём решение Юрия Красильникова в LibreOffice Calc.
Открываем файл с данными.
В ячейку I1 вписываем формулу =СЧЁТЕСЛИ(A1:H1;МИН(A1:H1)).
(Сколько раз встречается минимальное число.)
В ячейку J1 вписываем формулу =ЕСЛИ(СЧЁТЕСЛИ($A1:$H1;A1)=1;A1;"") и копируем её в ячейки K1:Q1.
(В ячейки J1:Q1 переносим числа, которые встречаются один раз.)
В ячейку R1 вписываем формулу =И(I1>=2;I1<=3;I1=СЧЁТЕСЛИ(J1:Q1;"")) - это первое условие.
(Число пустых ячеек среди уникальных чисел должно быть равно количеству повторений минимального числа.)
В ячейку S1 вписываем формулу =МИН(J1:Q1)^2+МАКС(J1:Q1)^2<=(СУММ(J1:Q1)-МАКС(J1:Q1)-МИН(J1:Q1))^2 - это второе условие.
В ячейку T1 вписываем формулу =И(R1:S1) - это выполнение обоих условий.
Размножаем строку I1:T1 до конца данных.
В ячейку U1 вписываем формулу =СУММ(T:T) и получаем в ней ответ 752.
Ответ: 752