算行列式在线性代数上学过。。展开式。。
还有一种高斯消元。。不会
#include<stdio.h>
#include<math.h>
#define maxn 11
int deter[maxn][maxn];
int f(int a[maxn][maxn],int n)
{
int b[maxn][maxn]={0};
int i,j,k,t=0,sum=0,x=0;
if(n==1)
return a[0][0];
for(i=0;i<n;i++)
{
for(k=0;k<n-1;k++)
{
for(j=0;j<n-1;j++)
{
if(k<i)
t=0;
else
t=1;
b[k][j]=a[k+t][j+1];
}
}
if(i%2==0)
x=1;
else
x=-1;
sum+=a[i][0]*f(b,n-1)*x;
}
return sum;
}
int main()
{
int n;
while(scanf("%d",&n)==1)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&deter[i][j]);
}
}
printf("%d\n",f(deter,n));
}
return 0;
}