用行列式的定义方法求解行列式的值,方法肯定不是最简单的,但是觉得有趣。其中要用到全排列的递归算法、逆序数的算法
#include<iostream>
using namespace std;
const int n = 3; //n为行列式的阶数
int z[6][n]; //6为全排列数即n!
int pow(int x, int y); //运算x的y次方
int against(int a[]); //求数组a的逆序数
int fac(int a); //运算a!
void swap(int a[], int i, int j); //交换a[i]和a[j]
void perm(int a[], int p, int q); //将n个数的所有排列储存进二维数组中
int main()
{
int a[n][n];
int d[n]; //用于储存行数(列数)
for (int i = 0; i < n; i++)
{
d[i] = i;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << "Please input a[" << i << "]" << "[" << j << "]&