杨辉三角
1,什么是杨辉三角?
杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。
2,特性
Note: 每行端点与结尾的数为1.
- 每个数等于它上方两数之和。
- 每行数字左右对称,由1开始逐渐变大。
- 第n行的数字有n项。
- 前n行共[(1+n)n]/2 个数。
- 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
- 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。
- 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)
3,python 实现
#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @File :YanghuiSanJiao.py @Description : 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ........... @CreatTime :2020/09/08 14:58:05 @Author :Yunhgu @Version :1.0 ''' def YanghuiSanJiao(number: int): YanghuiList = [[0 for j in range(i+1)] for i in range(number)] for i in range(number): for j in range(i+1): if j == 0 or i == j: # 如果这个数是每一行第一个或者最后一个就赋值为1 YanghuiList[i][j] = 1 else: # 每个数字是它的上层两个数字相加 YanghuiList[i][j] = YanghuiList[i-1][j-1]+YanghuiList[i-1][j] # 打印结果 for i in range(number): print(" "*(number-i), end='') for j in range(i+1): print(YanghuiList[i][j],end=' ') print() if __name__ == "__main__": YanghuiSanJiao(int(input('please input a number:')))
不论你在什么时候开始,重要的是开始之后就不要停止。
不论你在什么时候结束,重要的是结束之后就不要悔恨。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律