建立n阶螺旋方阵,并输出,方阵如下图,:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
#include
#include
#define N 20
void fill(int a[][N],int n)
{
int x=0, y=0, nx, ny;
int dxs[] = {1, 0, -1, 0};
int dys[] = {0, 1, 0, -1};
int i, k=0;
for(i=0; i { a[y][x] = i+1; nx = x + dxs[k]; ny = y + dys[k]; if (nx<0 || nx==n || ny<0 || ny==n || a[ny][nx]!=0) { k = (k+1)%4; nx = x + dxs[k]; ny = y + dys[k]; } x = nx; y = ny; } } int main() { int x,y,n,a[N][N]; memset(a, 0, N*N*sizeof(int)); printf("n:"); scanf("%d",&n); fill(a,n); for(y=0;y { for(x=0;x printf("%5d",a[y][x]); printf("\n"); } return 0; } 第一章 行列式 行列式的概念是在研究线性方程组的解的过程中产生的. 它在数学的许多分支中都有着非常广泛的应用,是常用的一种计算工具。特别是在本门课程中,它是研究后面线性方程组、矩阵及向量组的线性相关性的一种重要工具。 §1.1 n 阶行列式定义和性质 一、 二、三阶行列式定义的引出 1. 二阶行列式 例1:二阶线性方程组 ?? ?=+=+2 2221211 212111b x a x a b x a x a 且021122211≠-a a a a . 解:利用加减消元可求得122122 112121 1211221221 11221221 , .b a a b a b b a x x a a a a a a a a --==-- 取 2112221122 21 1211a a a a a a a a D -== ,21222122 2 1211b a a b a b a b D -== , 得 .,2 21 1D D x D D x = = 定义1 二阶行列式 由22个数排成2行2列所组成下面的式子(或符号) 2112221122 21 1211a a a a a a a a -= 称为二阶行列式,行列式中每一个数称为行列式的元素,数ij a 称为行列式的元素,它的第一个下标i 称为行标,表明该元素位于第i 行,第二个下标j 称为列标, 表明该元素位于第 j 列.位于第i 行第j 列的元素称为行列式的),(j i 元。 2阶行列式由2 2个数组成,两行两列;展开式是一个数或多项式;若是多项式则必有2!2=项,且正负项的各数相同。 应用:解线性方程 例2:解方程组.328 3221 21 ???-=-=+x x x x 解 D 2 132-=13)2(2?--?=,7-=1D 233 8--=)3(3)2(8-?--?=,7-= 1112112121 21 2 a b D a b b a a b = =- 第二节 n 阶行列式 从三阶行列式的定义,我们看到:(1) 三阶行列式共有3!=6项;(2) 行列式中的每一项都是取自不同行不同列的三个元素的乘积;(3) 行列式中的每一项的符号均与该项元素下标的排列顺序有关. 受此启示,我们可以引入n 阶行列式的定义. 此外,在本节中,我们还要了解几个今后常用的特殊的n 阶行列式(对角行列与三角形行列式等)的计算方法. 分布图示 ★ 排列与逆序 ★ 例1 ★ 例2 ★ 例3 ★ 引例 ★ n 阶行列式定义 ★ 例4 ★ 例5 ★ 例6 ★ 对换 ★ n 阶行列式定义的其它形式 ★ 例7 ★ 例8 ★ 例9 ★ 内容小结 ★ 课堂练习 ★ 习题1-2 内容要点 一、排列与逆序 定义1 由自然数1,2,…,n 组成的不重复的每一种有确定次序的排列,称为一个n 级排列(简称为排列)。 例如,1234和4312都是4级排列,而24315是一个5级排列. 定义2 在一个n 级排列)(2 1n s t i i i i i 中,若数,s t i i > 则称数t i 与s i 构成一个逆序. 一个n 级排列中逆序的总数称为该排列的逆序数, 记为).(21n i i i N 定义3 逆序数为奇数的排列称为奇排列, 逆序数为偶数的排列称为偶排列. 逆序数的计算方法: 先计算出排列中每个元素逆序的个数,即计算出排列中每个元素前面比它大的元素个数,该排列中所有元素的逆序数之总和即为所求排列的逆序数. 二、n 阶行列式的定义 定义4 由 2 n 个元素 ) ,,2,1,(n j i a ij =组成的记号 nn n n n n a a a a a a a a a 2 1 22221 11211 称为n 阶行列式, 其中横排称为行, 竖排称为列, 它表示所有取自不同行、不同列的n 个元素乘积n nj j j a a a 2 1 21的代数和, 各项的符号是: 当该项各元素的行标按自然顺序排列后, 若对 应的列标构成的排列是偶排列则取正号; 是奇排列则取负号. 即 ∑-= n n n j j j nj j j j j j N nn n n n n a a a a a a a a a a a a 21212121) (2 1 2222111211 ) 1(第一章 第一节 n阶行列式的定义和性质(2)
02 第二节 n阶行列式的定义