Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите сумму всех чисел в строке таблицы с наименьшим номером, для чисел которой выполнены оба условия:
— в строке есть одно число, которое повторяется дважды, остальные числа различны;
— квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех её неповторяющихся чисел.
В ответе запишите только число.
with open('904.txt') as f:
data = [list(map(int, i.split())) for i in f]
# Условие 1
def f1(line):
# Повторяются 2 раза
cnt_2 = [i for i in line if line.count(i) == 2]
# Повторяются 1 раз
cnt_1 = [i for i in line if line.count(i) == 1]
return len(cnt_2) == 2 and len(cnt_1) == 5
# Условие 2
def f2(line):
# Все неповторяющиеся числа в строке
no_rep = [i for i in line if line.count(i) == 1]
# Все повторяющиеся числа в строке
rep = [i for i in line if line.count(i) != 1]
# Сравниваем квадраты сумм
return sum(rep) ** 2 > sum(no_rep) ** 2
# Вычисление кол-ва строк
for line in data:
if f1(line) and f2(line):
print(sum(line))
break
