Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
– в строке только одно число повторяется трижды, остальные числа различны;
– квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех её неповторяющихся чисел.
В ответе запишите только число.
with open('900.txt') as f:
data = [list(map(int, i.split())) for i in f]
# Условие 1
def f1(line):
# Повторяются 3 раза
cnt_3 = [i for i in line if line.count(i) == 3]
# Повторяются 1 раз
cnt_1 = [i for i in line if line.count(i) == 1]
# И тех, и тех по 3
return len(cnt_3) == 3 and len(cnt_1) == 3
# Условие 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
# Счетчик
count = 0
# Вычисление кол-ва строк
for line in data:
if f1(line) and f2(line):
count += 1
# Вывод ответа
print(count)
