Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
– в строке есть одно число, которое повторяется трижды, остальные четыре числа различны;
– Для нечетных чисел строки определяются и суммируются противоположные числа, модуль такой суммы должен быть меньше минимального числа в строке
Примечание: Противоположное число по отношению к числу n — это число, которое при сложении с n даёт 0.
В ответе запишите только число.
Решение Excel
Откроем файл электронной таблицы и для начала в ячейку H1 запишем следующую формулу для определения повторяемости и растянем до ячейки N1:
=СЧЁТЕСЛИ($A1:$G1;A1)
В ячейке O1 запишем формулу для определения выполнения первого условия:
=ЕСЛИ(И(СЧЁТЕСЛИ(H1:N1;”=3”)=3;СЧЁТЕСЛИ(H1:N1;”=1”)=4);1;0)
В ячейку P1 запишем следующую формулу для определения четности и растянем до ячейки V1. Сразу найдём противоположные числа, домножив на -1:
=ЕСЛИ(ОСТАТ(A1;2)=1;-A1;0)
В ячейке W1 запишем формулу для определения выполнения второго условия:
=ЕСЛИ(ABS(СУММ(P1:V1))<МИН(A1:G1);1;0)
В ячейке X1 определим выполняются ли оба условия для строки, для этого воспользуемся формулой:
=O1*W1
Растянем все формулы на все строки таблицы и остается только посчитать сумму по столбцу X, это и будет ответом – 1.
Решение на Python
f = open("9.txt") # Открываем файл расширения txt
a = [list(map(int, line.split())) for line in f] # Считывание строк чисел в файле
lines_count = 0 # Счётчик для количества подходящих под условие строк
for line in a: # Перебираем строки - списки из 7 чисел
uniq = [x for x in line if line.count(x) == 1] # Список неповторяющихся чисел в строке
opposite_nums_sum = sum(-x for x in line if x % 2 == 1) # Сумма противоположных чисел для нечётных чисел строки
mn = min(line) # Минимальное число строки
sr = sum(line) / 4 # Среднее арифметическое строки
cond1 = (len(uniq) == 4) # Ровно четыре числа различны, тогда оставшиеся три - повторение одного числа трижды
cond2 = (abs(opposite_nums_sum) < min(line)) # Второе условие
if cond1 and cond2: # Все условия выполняются
lines_count += 1 # Увеличиваем счётчик на 1
print(lines_count) # Выводим ответ