Матрица 4×4 задаётся кортежем из 4 кортежей по 4 целых числа в каждом. Написать функцию det4(r0, r1, r2, r3), вычисляющую точный определитель матрицы (r0, r1, r2, r3). Пользоваться itertools нельзя. Числа содержат не более 66666 десятичных знаков.
print(det4((5, -4, 4, -7), (1, -2, 6, 0), (3, -8, -6, -4), (-1, 2, -9, 3)))
Поскольку определитель 3×3 считается просто, я вручную сгенерировал список всех перестановок (0,1,2,3), не забывая про знак, и посчитал сумму в цикле. Рекурсивная функция, порождающая список перестановок, заняла три строки, основная функция — четыре.
702
При домашнем тестировании (но не в тексте решения!) может вылезти ограничение Python3.11+ на максимальный размер строкового представления числа.
Результат можно проверить так (хотя в нашем случае результат должен быть строго целым):