两种算法巧算杨辉三角——python
什么是杨辉三角?
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
杨辉三角估计大家也都不陌生,早在小学的奥数题里边就有曾出现,估计大家也都见过好几遍了,也了解了杨辉三角的规律,那么今天我们就要用算法来写杨辉三角!
问题描述
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)的i次方的展开式的系数
他的一个重要性质是:三角形中的每个数字等于他两肩上的数字相加
下面给出了杨辉三角形的前4行:
1
1 1
1 2 1
1 3 3 1
给出n,输出他的前n行
算法一
n = int(input())
lists = [[0]*i for i in range(1,n+1)] # 先创建好杨辉三角的框架
lists[0][0] = 1 # 把第一个数给到程序
for i in range(1,n):for j in range(len(lists[i])):if j == 0:lists[i][j] = lists[i-1][j]continueelif j == len(lists[i])-1:lists[i][j] = lists[i-1][j-1]continuelists[i][j] = lists[i-1][j-1]+lists[i-1][j]
for i in lists:for j in i:print(j,end=" ")print()
算法二
n = int(input())
list1 = [1]
for i in range(n):list1.append(0)list1 = [list1[k] + list1[k-1] for k in range(i+1)]print(' '.join([str(i) for i in list1]))
两种算法巧算杨辉三角——python相关推荐
- 求杨辉三角的前n行数据_两道简单的套公式算法题:杨辉三角
杨辉三角应该是大家很早就接触到的一个数学知识,它有很多有趣的性质: 每个数字等于上一行的左右两个数字之和,即 C(n+1,i) = C(n,i) + C(n,i-1) 每行数字左右对称,由 1 开始逐 ...
- 算法--组合数学:杨辉三角数学分析以及Java实现
1.定义 杨辉三角,是二项式系数在三角形中的一种几何排列. 下图为杨辉三角部分数据 2.杨辉三角规律 前提:每行端点与结尾的数为1 最重要的规律: 每个数字等于上一行的左右两个数字之和.可用此性质写出 ...
- 算法详解--杨辉三角
百度简介 杨辉 (南宋著名数学家) 编辑 杨辉,字谦光,汉族,钱塘(今杭州)人,南宋杰出的数学家和数学教育家,生平履历不详.曾担任过南宋地方行政官员,为政清廉,足迹遍及苏杭一带. 他在总结民间乘除捷算 ...
- 用python编写杨辉三角金字塔_用python实现三道简单算法题:杨辉三角,蛇形矩阵,金字塔...
分享几道简单的python打印输出的问题,本质上都是可以将其分解成一个大循环之中有几个小循环. 1.杨辉三角 主要特点: 每个数等于它上方两数之和. 每行数字左右对称,由1开始逐渐变大. 每行端点与结 ...
- python杨辉三角函数_Python算法之六:杨辉三角
关注微信公众号"酸痛鱼",获得更多最新最全的文章. 本文中所涉及的代码,在未特殊声明的情况下,都是基于Python3程序设计语言编写的. 建议您在PC浏览器中阅读本文,以获得更好的 ...
- python实现杨辉三角_Python算法之六:杨辉三角
关注微信公众号"酸痛鱼",获得更多最新最全的文章. 本文中所涉及的代码,在未特殊声明的情况下,都是基于Python3程序设计语言编写的. 建议您在PC浏览器中阅读本文,以获得更好的 ...
- 【算法竞赛】杨辉三角 | 杨辉三角与组合数的关系 | 杨辉三角的算法应用 | c++代码实现公式获取杨辉三角位置的值
杨辉三角详解 杨辉三角是什么? 杨慧三角是二项式系数在三角形中的一种集合排列!! 换一种说法: 杨辉三角是二项式系数, 通过数据三角形表示, 发现的数学规律. 杨辉三角与二项式系数联系 定义: 在数学 ...
- 蓝桥杯 ALGO-1005 数字游戏 DFS记忆化搜索+剪枝+杨辉三角 python
题目 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字. 例如: 3 1 2 4 4 3 ...
- 杨辉三角Python解法
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 例: 输入: numRows = 5 输出: [[1],[1,1], ...
最新文章
- HTML超出部分滚动效果 HTML滚动 HTML下拉 附效果图
- Linux vim 梳理
- 首选System.lineSeparator()以用Java编写系统相关的行分隔符字符串
- 计算机审计的概念的论文,论文:浅谈计算机审计中的数据分析
- vue中this.$nextTick()的使用---SpringCloud Alibaba_若依微服务框架改造_ElementUI---工作笔记017
- fetch结合(async函数来使用)
- base/7/x86_64/filelists_db FAILED
- SpringBoot中Async异步方法和定时任务介绍
- 三合一收款码在线生成艺术创意的二维码网站源码 多模板
- 宋维刚老师词霸天下38000词汇思维导图
- 开心网CEO程炳皓称开心微博将一周内对外公测
- Spark之SparkSQL和DataFrame
- 如何提高自己的归纳总结能力?
- Pycharm安装第三方包报错怎么办
- Mycat的概述及部署安装
- 千年之恋HTML5和CSS3
- 零售业转型升级,这三种模式如何选择?
- 最强大脑第二场战平听音神童!百度大脑小度声纹识别技术解析
- vi命令整理(整理中)
- AUTOCAD——总结CAD画圆角的三种方式