在这里向大家介绍两种实现n阶行列式计算的方法
目录
1.展开法
2.全排列法
一.展开法:
展开法的实现思想就是利用递归不断将行列式某一行或者某一列的n-1个(假设行列式为n行n列)置为0,剩余一个置为1,并不断展开进行计算,接下来让我们来看看代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
double Getnum(double arr[][20], int n)
{
if (n == 1)
return arr[0][0];
if (n == 2) //若行列式行列数只剩下2,则使用交叉相乘计算并返回值
return arr[0][0] * arr[1][1] - arr[0][1] * arr[1][0];
for (int i = 0; i < n; i++)
{
arr[i][n - 1] = arr[i][n - 1] / arr[n - 1][n - 1]; //将arr[n-1][n-1]