欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 打印杨辉三角形

程序员文章站 2022-08-06 20:37:05
文章目录一、杨辉三角形二、二项式定理三、编程打印杨辉三角形1、采用二维列表来处理杨辉三角2、编写程序 - 杨辉三角.py3、运行程序,查看结果一、杨辉三角形杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623 ~ 1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。(a+b)1=a+b(a+b)^1=a+b(a+b)1=a+b(a+b)2=a2+2ab+...



一、杨辉三角形

杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623 ~ 1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
Python 打印杨辉三角形

( 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+Cn1an1b+Cn2an2b2++Cnianibi++Cnn1abn1+Cnnbn=i=0nCnianibiCni=(ni)!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]=1iN
a [ i ] [ i ] = 1 , i ∈ N a[i][i]=1,i\in N a[i][i]=1iN
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[i1][j1]+a[i1][j]i21j<i

2、编写程序 - 杨辉三角.py

Python 打印杨辉三角形

# -*- 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、运行程序,查看结果

Python 打印杨辉三角形

4、等腰三角形格式输出杨辉三角形

Python 打印杨辉三角形

本文地址:https://blog.csdn.net/howard2005/article/details/109025214

相关标签: Python编程