北宋 · 贾宪 (约1050年)
北宋数学家贾宪在《释锁算书》中最早提出了“贾宪三角”,用于开高次方。这是目前已知最早的杨辉三角记录,但原书已佚,仅见于后世引用。
探索中国古代数学瑰宝,解读二项式系数背后的数学之美,从基础递推到高维空间应用的全面指南。
杨辉三角形(Yang Hui's Triangle),又名贾宪三角形、帕斯卡三角形,是二项式系数在三角形中的一种几何排列。在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623-1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
它的基本结构如下:
每行两端数字均为1。中间的每一个数都是它上方两数之和。这种结构使得杨辉三角具有极强的对称性和递归性。
虽然西方称为帕斯卡三角形,但中国南宋数学家杨辉在其著作中详细阐述了该表的构造方法及其在开方和多项式展开中的应用,因此国际数学界也普遍认可其中国起源。
理解杨辉三角形的公式是掌握其应用的关键。主要有两种表达形式:递推公式和通项公式。
设 C(n, k) 表示第 n 行第 k 个位置的数值(行和列均从0开始计数),则递推公式为:
C(n, k) = C(n-1, k-1) + C(n-1, k)
边界条件:
C(n, 0) = 1 (每行第一个数为1)C(n, n) = 1 (每行最后一个数为1)这个公式直观地反映了杨辉三角的构造过程:每个数等于其“肩膀”上两个数之和。
第 n 行第 k 个数(0-indexed)直接对应于组合数 C(n, k) 或写作 ₙCₖ、(n k)。公式为:
C(n, k) = n! / (k! (n - k)!)
其中 n! 表示n的阶乘。例如,求第5行第2个数(即1, 5, 10, 10, 5, 1中的10):
C(5, 2) = 5! / (2! 3!) = 120 / (2 6) = 10
这是计算杨辉三角中任意位置数值最直接、最高效的方法,避免了递归带来的重复计算。
以下是使用Python生成杨辉三角前10行的示例代码:
def generate_pascals_triangle(num_rows):
triangle = []
for n in range(num_rows):
row = [1] (n + 1)
for k in range(1, n):
row[k] = triangle[n-1][k-1] + triangle[n-1][k]
triangle.append(row)
return triangle
打印结果
for row in generate_pascals_triangle(10):
print(" ".join(map(str, row)).center(20))
除了基本的加减法规律,杨辉三角形中还蕴含着丰富的数学奥秘,这些性质在数论和组合数学中具有重要地位。
杨辉三角关于中心轴线对称。即 C(n, k) = C(n, n-k)。这意味着第n行的第k个数与第n-k个数相等。
第n行所有数字之和等于 2^n。例如第3行 (1+3+3+1) = 8 = 2^3。这对应于二项式展开中令a=1, b=1的情况。
沿着与边缘成45度角的斜线方向求和,可以得到斐波那契数列。例如:
斜线1: 1
斜线2: 1
斜线3: 1+1=2
斜线4: 1+2=3
斜线5: 1+3+1=5
斜线6: 1+4+3=8 ...
如果第n行的第一个数(即n+1)是一个素数,那么该行除了两端的1以外,所有的数都能被n+1整除。例如第2行(对应n=2,第一个数是3,素数),中间数是2,不能被3整除?注意:这里通常指第p行(p为素数),则C(p, k)能被p整除。
| 行号 (n) | 数值序列 | 行和 (2^n) | 组合数表示 |
|---|---|---|---|
| 0 | 1 | 1 | C(0,0) |
| 1 | 1, 1 | 2 | C(1,0), C(1,1) |
| 2 | 1, 2, 1 | 4 | C(2,0), C(2,1), C(2,2) |
| 3 | 1, 3, 3, 1 | 8 | C(3,0) ... C(3,3) |
| 4 | 1, 4, 6, 4, 1 | 16 | C(4,0) ... C(4,4) |
| 5 | 1, 5, 10, 10, 5, 1 | 32 | C(5,0) ... C(5,5) |
| 6 | 1, 6, 15, 20, 15, 6, 1 | 64 | C(6,0) ... C(6,6) |
北宋数学家贾宪在《释锁算书》中最早提出了“贾宪三角”,用于开高次方。这是目前已知最早的杨辉三角记录,但原书已佚,仅见于后世引用。
杨辉在《详解九章算法》中抄录了贾宪的三角图,并详细解释了其用法。由于该书流传较广,后世便称之为“杨辉三角”。他记录了该三角的21种用法,包括开方、多项式展开等。
法国数学家布莱兹·帕斯卡在研究概率论时独立发现了这一规律,并发表了《三角形算术机器》。因此西方称之为帕斯卡三角形。
如今,杨辉三角不仅是数学教学的基础内容,还在计算机科学(动态规划)、组合数学、概率统计以及分形几何(谢尔宾斯基三角形)等领域有着广泛应用。
杨辉三角形的公式和结构在现代科学和工程中有着不可替代的作用。
这是最直接的应用。(a+b)^n 的展开式系数即为杨辉三角的第n行。这在代数运算、多项式乘法中极为常见。
在伯努利试验中,杨辉三角用于计算二项分布的概率。例如,抛硬币n次,出现k次正面的概率可以通过第n行的系数计算得出。
杨辉三角是动态规划(Dynamic Programming)的经典入门案例。其递推关系 C(n,k) = C(n-1,k-1) + C(n-1,k) 完美对应状态转移方程。此外,它还用于生成组合集合。
如果将杨辉三角中的偶数涂黑,奇数留白,随着行数增加,会呈现出著名的分形图形——谢尔宾斯基三角形(Sierpinski Triangle)。这展示了离散数学与几何美学的奇妙联系。
在搜索杨辉三角形的公式及相关知识时,网民们经常提出以下问题。我们整理了这些高关注度问题并提供详细解答。