Рекурсия · 24 из 29
Определитель разложением
Лабораторная «рекурсия», задание с подвохом. Определитель квадратной матрицы раскладывают по первой строке: каждый её элемент умножают на определитель матрицы без его строки и столбца — минора — и складывают со знаками «плюс, минус, плюс…». Миноры раскладывают так же, пока не останется матрица 1 × 1. Борис Аркадьевич предупреждает: красиво, но для матрицы 20 × 20 вы ответа не дождётесь, — и на защите спросит почему.
Что сделать
Посчитайте определитель квадратной матрицы разложением по первой строке — рекурсивно, до миноров 1 × 1.
Что приходит
matrica— квадратная матрица списком строк, числа целые, размер от 1 × 1
Что вернуть
Определитель — целое число.
Допишите функцию opredelitel в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
opredelitel([[1, 2], [3, 4]])
-2
Определитель матрицы 1 × 1 — её единственный элемент.
Для большей матрицы: сумма по столбцам j первой строки величин знак · matrica[0][j] · определитель минора, где знак — плюс при чётном j и минус при нечётном (j с нуля), а минор — матрица без первой строки и без столбца j.
Переданную матрицу менять нельзя.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.