Задание выполняется с использованием прилагаемых файлов.
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел.
Определите наибольший номер строки таблицы, для которой выполнены оба условия:
- в строке все числа различны;
- удвоенная сумма трёх наименьших чисел строки меньше суммы трёх её оставшихся чисел.
В ответе запишите только число.
Решение
Перебираем строки файла: все числа различны и удвоенная сумма трёх наименьших меньше суммы трёх оставшихся.
f = open('9.txt')
best_i = 0
for i, line in enumerate(f, start=1):
nums = list(map(int, line.split()))
if len(nums) != len(set(nums)):
continue
s = sorted(nums)
if 2 * sum(s[:3]) < sum(s[3:]):
if i > best_i:
best_i = i
print(best_i)
Ответ: 27987.
Решение. Проверим, что все числа в строке различны. В ячейку G1 введём:
=СЧЁТЕСЛИ($A1:F1;A1)
и скопируем по строке до L28000.
В M1 — признак «все различны»:
=ЕСЛИ(СЧЁТЕСЛИ(G1:L1;1)=6;1;0)
В N1 — второе условие:
=ЕСЛИ(И(M1=1;2*СУММ(НАИМЕНЬШИЕ(A1:F1;3))<СУММ(A1:F1)-СУММ(НАИМЕНЬШИЕ(A1:F1;3)));1;0)
Скопируем формулы вниз до строки 28000, включим фильтр по столбцу N (значение 1).
Наибольший номер строки среди отфильтрованных — ответ.
Наибольший номер строки, для которой выполнены оба условия: 27987.
В ответе запишите только число — 27987.