Python 打印杨辉三角形
一、杨辉三角形
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623 ~ 1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
(
a
+
b
)
1
=
a
+
b
(a+b)^1=a+b (a+b)1=a+b
(
a
+
b
)
2
=
a
2
+
2
a
b
+
b
2
(a+b)^2=a^2+2ab+b^2 (a+b)2=a2+2ab+b2
(
a
+
b
)
3
=
a
3
+
3
a
2
b
+
3
a
b
2
+
b
3
(a+b)^3=a^3+3a^2b+3ab^2+b^3 (a+b)3=a3+3a2b+3ab2+b3
(
a
+
b
)
4
=
a
4
+
4
a
3
b
+
6
a
2
b
2
+
4
a
b
3
+
b
4
(a+b)^4=a^4+4a^3b+6a^2b^2+4ab^3+b^4 (a+b)4=a4+4a3b+6a2b2+4ab3+b4
……
二、二项式定理
二项式定理,又称牛顿二项式定理,由艾萨克牛顿于1664-1665年提出。
( a + b ) n = C n 0 a n + C n 1 a n − 1 b + C n 2 a n − 2 b 2 + … … + C n i a n − i b i + … … + C n n − 1 a b n − 1 + C n n b n = ∑ i = 0 n C n i a n − i b i , C n i = n ! ( n − i ) ! ⋅ i ! (a+b)^n=C_n^0a^n+C_n^1a^{n-1}b+C_n^2a^{n-2}b^2+……+C_n^ia^{n-i}b^i+……+C_n^{n-1}ab^{n-1}+C_n^nb^n=\displaystyle \sum_{i=0}^nC_n^ia^{n-i}b^i,C_n^i=\frac{n!}{(n-i)!\cdot i!} (a+b)n=Cn0an+Cn1an−1b+Cn2an−2b2+……+Cnian−ibi+……+Cnn−1abn−1+Cnnbn=i=0∑nCnian−ibi,Cni=(n−i)!⋅i!n!
- ( a + b ) 3 = C 3 0 a 3 + C 3 1 a 2 b + C 3 1 a b 2 + C 3 3 b 3 = a 3 + 3 a 2 b + 3 a b 2 + b 3 (a+b)^3=C_3^0a^3+C_3^1a^2b+C_3^1ab^2+C_3^3b^3=a^3+3a^2b+3ab^2+b^3 (a+b)3=C30a3+C31a2b+C31ab2+C33b3=a3+3a2b+3ab2+b3
- ( a + b ) 4 = C 4 0 a 4 + C 4 1 a 3 b + C 4 2 a 2 b 2 + C 4 3 a b 3 + C 4 4 b 4 = a 4 + 4 a 3 b + 6 a 2 b 2 + 4 a b 3 + b 4 (a+b)^4=C_4^0a^4+C_4^1a^3b+C_4^2a^2b^2+C_4^3ab^3+C_4^4b^4=a^4+4a^3b+6a^2b^2+4ab^3+b^4 (a+b)4=C40a4+C41a3b+C42a2b2+C43ab3+C44b4=a4+4a3b+6a2b2+4ab3+b4
三、编程打印杨辉三角形
1、采用二维列表来处理杨辉三角
a
[
i
]
[
0
]
=
1
,
i
∈
N
a[i][0]=1,i\in N a[i][0]=1,i∈N
a
[
i
]
[
i
]
=
1
,
i
∈
N
a[i][i]=1,i\in N a[i][i]=1,i∈N
a
[
i
]
[
j
]
=
a
[
i
−
1
]
[
j
−
1
]
+
a
[
i
−
1
]
[
j
]
,
i
≥
2
,
1
≤
j
<
i
a[i][j]=a[i-1][j-1]+a[i-1][j],i\ge2,1\le j\lt i a[i][j]=a[i−1][j−1]+a[i−1][j],i≥2,1≤j<i
2、编写程序 - 杨辉三角.py
# -*- coding: utf-8 -*- """
Created on Mon Oct 12 11:45:35 2020
@author: howard
杨辉三角形
""" def yanghui(n): triangle = [] triangle.append([1]) triangle.append([1, 1]) for i in range(2, n): row = [1] for j in range(0, len(triangle[i - 1]) -1): row.append(triangle[i - 1][j] + triangle[i - 1][j + 1]) row.append(1) triangle.append(row) return triangle
n = int(input('输入杨辉三角行数:')) triangle = yanghui(n) for i in range(len(triangle)): for j in range(len(triangle[i])): print(triangle[i][j], end='\t') print()
3、运行程序,查看结果
4、等腰三角形格式输出杨辉三角形
本文地址:https://blog.csdn.net/howard2005/article/details/109025214
上一篇: 产地哪里的竹叶青茶叶好呢,你会品茶吗
下一篇: Python开发中Django的基本使用