Решить на Python Дана квадратная вещественная матрица размерности n. Сравнить сумму элементов матрицы на главной и побочной диагоналях.
Ответы на вопрос:
Пусть сумма всех элементов равна full_sum, а длина массива 2k.
Предлагаю организовать банальный перебор: выберем k индексов из 2k, посчитаем сумму соответствующих элементов. Будем искать максимальную сумму, которая не превосходит full_sum/2. При этом сумма невыбранных элементов будет не меньше full_sum/2, и будет отличаться от суммы выбранных элементов на минимально возможную величину.
Этот алгоритм работает быстро только для относительно небольших значений k. если нужно что-то быстрее, то придется придумывать что-то дополнительно.
Код (Python 3):
from random import randint
from itertools import combinations
k = 10
a = [randint(1, 100) for _ in range(2 * k)]
print(*a)
full_sum = sum(a)
half_sum = full_sum // 2
max_sum = -1
answer = None
for seq in combinations(range(2 * k), k):
s = sum(map(lambda ind: a[ind], seq))
if s <= half_sum and s > max_sum:
max_sum, answer = s, seq
if s == half_sum:
break
left = [a[i] for i in answer]
right = [el for i, el in enumerate(a) if i not in answer]
a = left + right
print(*a)
Пример вывода:
50 39 19 63 16 4 82 45 63 33 6 57 39 16 38 4 66 56 87 84
50 39 19 63 16 4 82 57 16 87 45 63 33 6 39 38 4 66 56 84
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
liza1310013.05.2022 08:16
-
Anastasiia1111111107.04.2020 18:19
-
ry56459911.01.2020 13:51
-
AlexKostrov07.06.2022 05:15
-
dodpddpfp15.05.2020 23:01
-
liliyazaleeva1218.03.2022 18:52
-
калина00703.07.2020 18:45
-
Мелочь8331.10.2021 08:21
-
dreadman98914.02.2022 20:05
-
AveMartells26.06.2020 11:04
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.