若有n*n阶行列式A,则:

|A|=A[1][1]*M[1][1]+A[1][2]*M[1][2]+...A[1][n]*M[1][n];其中M[1][i] 表示原矩阵元素A[1][i]的代数余子式;

又M[1][i]是一个n-1阶的方正行列式,其值又可以由上诉公式推出.....;

以此类推,直到n为1结束;再递归得到|A|;

A[i][j]的代数余1子式M[i][j]=pow(-1, i+j)*C[i][j];C[i][j]为A[i][j]的余子式;

代码:

 //***递归求n*n阶行列式的值
int matrix(int n, int a1[MAXN][MAXN])
{
int b[][], sum=; //****b保存当前n*n阶行列式a的余子式
if(n==) return a1[][]; //****n为1时结束递归
for(int i=; i<n; i++) //****通过循环求出当前行列式a[1][0]~a[1][n-1]的所有余子式
{
for(int j=; j<n-; j++)
{
int column=;
for(int k=; k<n; k++)
{
if(k==i) continue;
b[j][column++]=a1[j+][k]; //**将a[0][i]的余子式保存到b数组中
}
}
int flag=;
if(i&) flag=-;
sum+=flag*a1[][i]*matrix(n-, b);
}
return sum;
}

求n阶方阵的值(递归)的更多相关文章

  1. 用递归方法求n阶勒让德多项式的值

    /* Date: 07/03/19 15:40 Description: 用递归法求n阶勒让德多项式的值      { 1  n=0    Pn(x)= { x  n=1      { ((2n-1) ...

  2. 【严蔚敏】【数据结构题集(C语言版)】1.17 求k阶斐波那契序列的第m项值的函数算法

    已知k阶斐波那契序列的定义为 f(0)=0,f(1)=0,...f(k-2)=0,f(k-1)=1; f(n)=f(n-1)+f(n-2)+...+f(n-k),n=k,k+1,... 试编写求k阶斐 ...

  3. 将n阶方阵左下半三角中的元素值置0.

    /*===================================== 将n阶方阵左下半三角中的元素值置0. 0<n<10. =========================== ...

  4. 求n阶勒让德多项式

    Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 161  Solved: 105 [Submit][Status][Web Board] Descrip ...

  5. 2406: C语言习题 求n阶勒让德多项式

    2406: C语言习题 求n阶勒让德多项式 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 961  Solved: 570[Submit][Status ...

  6. C#程序计算N阶行列式的值及N元一次方程组

    C#程序计算N阶行列式的值及N元一次方程组 用了挺长时间自行完成了C#程序计算N阶行列式的值及N元一次方程组.由于自己没有在网上查阅其他资料,所以只能硬着头皮用最朴素的思想和基础的算法进行编程.在给出 ...

  7. C语言atan2()函数:求y/x的反正切值

    头文件:#include <math.h> atan2() 函数用于求 y / x 的反正切值.其原型为:    double atan2(double y, double x); [参数 ...

  8. python_求1-2+3-4+......-100的值

    求1-2+3-4+5---100 = ? 逻辑整理: -- 本质上可以转换一下,1+3+5+--+99 -(2+4+--+100) 加减部分间隔都为2,先求1+3+5+--+99的值, 再求2+4+- ...

  9. n阶方阵A可逆充分必要条件

    n阶方阵A可逆 充分必要条件:<=> A非奇异(非奇异矩阵就是对应的行列式不等于等于0的方阵)<=> |A|≠0 <=> r(A) = n <=> A的 ...

随机推荐

  1. 循环执行n次的代码

    var audio = document.createElement("audio");  var index = 0;    audio.src = "piano/3C ...

  2. Nginx反向代理多虚拟主机代理

    根据http://www.cnblogs.com/zzzhfo/p/6032095.html这个环境配置 在web01和web02上配置基于域名的虚拟主机 web01 [root@web01 /]# ...

  3. Windows上安装使用MongoDB(一)

    首先下载MongoDB的Windows版本,从如下地址: https://www.mongodb.org/downloads. 我下载的msi版本,下载后安装即可,如我安装的盘符是:C:\Progra ...

  4. BZOJ3224——Tyvj 1728 普通平衡树

    1.题目大意:数据结构题,是treap,全都是treap比较基本的操作 2.分析:没啥思考的 #include <cstdio> #include <cstdlib> #inc ...

  5. Palindrome Partitioning II Leetcode

    Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...

  6. Android学习笔记(九)——布局和控件的自定义

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! View是 Android中一种最基本的 UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件 ...

  7. JDBC的应用

    JDBC的开发步骤: 1.  引入JDBC驱动架包 2.  程序中引入JDBC驱动类     3.  创建java与数据库的连接 4.  跟数据库交互:发送sql语句,接收数据库对sql语句的执行结果 ...

  8. 如何发布及部署asp.net网站

    用vs开发完asp.net网站之后如何发布到服务器上去变成正式网站? 1.发布首先需要发布网站,这个步骤就是生成正式网站的目录(把源代码编译成.cs代码文件编译成.dll文件)详细步骤:http:// ...

  9. SCP 和 rsync限速以及用法

    rsync限速以及用法 -- :: 标签:限速 rsync 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xficc.blog. ...

  10. unity3d优化总结篇

    转自http://www.unitymanual.com/thread-21597-1-1.html 此总结由自己经验及网上收集整理优化内容 包括:1.代码方面:2.函数使用方面:3.ngui注意方面 ...