Решение на 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()))
mx = max(nums)
print(nums, 'max =', mx, 'сумма остальных =', sum(nums) - mx)
print('условие 1:', mx < sum(nums) - mx)
break
📌 Результат: проверяем первое условие: max(nums) < sum(nums) − max(nums).
Шаг 4. Нет двух пар с равными суммами
f = open('9.txt')
for line in f:
nums = list(map(int, line.split()))
a, b, c, d = nums
ok = a + b != c + d and a + c != b + d and a + d != b + c
print(nums, 'нет равных пар сумм:', ok)
break
📌 Результат: для четырёх чисел проверяем все разбиения на две пары — ни у одного разбиения суммы пар не должны совпадать.
Шаг 5. Проверка условия и получение ответа
f = open('9.txt')
count = 0
for line in f:
nums = list(map(int, line.split()))
mx = max(nums)
# условие 1
if mx < sum(nums) - mx:
a, b, c, d = nums
# условие 2
if a + b != c + d and a + c != b + d and a + d != b + c:
count += 1
print(count)
Перебираем строки. Если оба условия выполнены, увеличиваем счётчик. Выводим количество подходящих строк.
📌 Ответ: 2354.
Решение. Первое условие: наибольшее число в строке меньше суммы трёх остальных.
В ячейку E1 введём:
=ЕСЛИ(МАКС(A1:D1)<СУММ(A1:D1)-МАКС(A1:D1);1;0)
и скопируем вниз до E3200.
Второе условие: нельзя разбить четыре числа на две пары с равными суммами. В F1:
=ЕСЛИ(И(A1+B1<>C1+D1;A1+C1<>B1+D1;A1+D1<>B1+C1);1;0)
и скопируем вниз до F3200.
В G1 — оба условия:
=ЕСЛИ(И(E1=1;F1=1);1;0)
Скопируем вниз, включим фильтр по G = 1, посчитаем количество строк.
Получим ответ — 2354.