Решение на 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')
for line in f:
nums = list(map(int, line.split()))
values = set(nums)
freqs = sorted(nums.count(x) for x in values)
print(nums, '→', freqs)
break
📌 Результат: в подходящей строке частоты [1, 1, 2] — одно число дважды, остальные два различны.
Шаг 4. Пара нечётная, уникальные чётные
f = open('9.txt')
for line in f:
nums = list(map(int, line.split()))
values = set(nums)
freqs = sorted(nums.count(x) for x in values)
if freqs == [1, 1, 2]:
pair = next(x for x in values if nums.count(x) == 2)
uniques = [x for x in values if nums.count(x) == 1]
print(nums, 'pair=', pair, 'uniques=', uniques)
break
📌 Результат: повторяющееся число нечётное, оба неповторяющихся — чётные.
Шаг 5. Проверка условия и получение ответа
# Таблица уже сохранена в файле 9.txt. Открываем его и задаём count
f = open('9.txt')
count = 0
# Читаем строки и собираем частоты чисел
for line in f:
nums = list(map(int, line.split()))
values = set(nums)
freqs = sorted(nums.count(x) for x in values)
# Нужны одна пара и два уникальных числа
if freqs != [1, 1, 2]:
continue
pair = next(x for x in values if nums.count(x) == 2)
uniques = [x for x in values if nums.count(x) == 1]
# Пара нечётная, оба неповторяющихся числа чётные — увеличиваем счётчик
if pair % 2 == 1 and all(u % 2 == 0 for u in uniques):
count += 1
# Выводим count — количество подходящих строк. Жми RUN
print(count)
Перебираем все строки. Если оба условия выполнены, увеличиваем счётчик. В конце выводим количество подходящих строк.
📌 Ответ: 13.
Решение. Сначала проверим первое условие — одно число дважды, остальные два различны. В ячейку E1 введём:
=СЧЁТЕСЛИ($A1:D1;A1)
и скопируем по строке до H1, затем вниз до строки 25000.
В I1 — признак «одна пара + два уникальных»:
=ЕСЛИ(И(СЧЁТЕСЛИ(E1:H1;2)=2;СЧЁТЕСЛИ(E1:H1;1)=2);1;0)
Второе условие: повторяющееся число нечётное, неповторяющиеся — чётные. В J1:
=ЕСЛИ(И(ЕСЛИ(E1=2;ОСТАТ(A1;2)=1;ОСТАТ(A1;2)=0);ЕСЛИ(F1=2;ОСТАТ(B1;2)=1;ОСТАТ(B1;2)=0);ЕСЛИ(G1=2;ОСТАТ(C1;2)=1;ОСТАТ(C1;2)=0);ЕСЛИ(H1=2;ОСТАТ(D1;2)=1;ОСТАТ(D1;2)=0));1;0)
В K1 объединим оба признака:
=ЕСЛИ(И(I1=1;J1=1);1;0)
Скопируем формулы вниз, включим фильтр по K = 1 и посчитаем количество оставшихся строк.
Получим ответ — 13.