Решение на Python
Шаг 1. Чтение строк файла и нумерация
f = open('9.txt')
for i, line in enumerate(f, start=1):
print(i, line)
break
📌 Результат: для каждой строки получаем её номер и содержимое (на примере первой строки).
Шаг 2. Преобразование строки в список чисел
f = open('9.txt')
for i, line in enumerate(f, start=1):
nums = list(map(int, line.split()))
print(i, nums)
break
📌 Результат: строка превращается в список целых чисел, например [3, 7, 10, 2, 6].
Шаг 3. Проверка структуры повторов в строке
f = open('9.txt')
from collections import Counter
for line in f:
nums = list(map(int, line.split()))
c = Counter(nums)
print(sorted(c.values()))
break
📌 Результат: в подходящей строке ровно три числа по 2 раза и одно число 1 раз (sorted(c.values()) == [1, 2, 2, 2]).
Шаг 4. Среднее повторяющихся и уникальное число
f = open('9.txt')
from collections import Counter
for line in f:
nums = list(map(int, line.split()))
c = Counter(nums)
if sorted(c.values()) == [1, 2, 2, 2]:
povt = [x for x in c if c[x] == 2]
nepovt = [x for x in c if c[x] == 1][0]
print('повторяющиеся:', povt, 'уникальное:', nepovt)
print('среднее повторяющихся =', sum(povt) / 3)
break
📌 Результат: считаем среднее трёх повторяющихся чисел и сравниваем с неповторяющимся.
Шаг 5. Проверка условия и получение ответа
f = open('9.txt')
from collections import Counter
count = 0
for line in f:
nums = list(map(int, line.split()))
c = Counter(nums)
# три числа по 2 раза и одно число 1 раз
if sorted(c.values()) == [1, 2, 2, 2]:
povt = [x for x in c if c[x] == 2]
nepovt = [x for x in c if c[x] == 1][0]
# среднее повторяющихся >= неповторяющегося
if sum(povt) / 3 >= nepovt:
count += 1
print(count)
Перебираем все строки. Если оба условия выполнены, увеличиваем счётчик. В конце выводим количество подходящих строк.
📌 Ответ: 149.
Решение. Вспомогательные столбцы для подсчёта повторов:
=СЧЁТЕСЛИ($A1:G1;A1) в H1, копируем до N30000.
Первое условие (три пары по два и одно уникальное число) в O1:
=ЕСЛИ(И(СЧЁТЕСЛИ(H1:N1;2)=3;СЧЁТЕСЛИ(H1:N1;1)=1);1;0)
Среднее повторяющихся (без учёта повторений) в P1:
=СУММЕСЛИ(H1:N1;2;A1:G1)/2
Уникальное число в Q1:
=СУММЕСЛИ(H1:N1;1;A1:G1)
Второе условие в R1:
=ЕСЛИ(И(O1=1;P1>=Q1);1;0)
Фильтр по R = 1, затем считаем строки.
Получим ответ — 149.