数学之美:神奇的杨辉三角形,比帕斯卡早了近600年,致敬中国古代数学家(63)

news2025/1/10 20:46:37

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

和猫妹学Python,一起趣味学编程。

今日主题

什么是杨辉三角形?

杨辉三角形有什么规律?

中国古代数学家杨辉。

西方科学家帕斯卡。

杨辉三角形的应用。

如何计算第n层杨辉三角。

Python代码实现。

什么是杨辉三角形

上图就是杨辉三角形,它有如下规律:

  1. 左边的边和右边的边都是1。

  2. 非边上的数字等于其肩膀上两个数字的和。

杨辉三角形有什么规律

数学理论统计,行计算从1开始。

第n行规律

第1行,11的0次方。

第2行,11的1次方。

...

第n行,11的n-1次方。

第n次和规律

第1行和,2的0次方。

第2行的和,2的1次方。

...

第n行的和,2的n-1次方。

列的和

列的和等于拐角处的数字

隐藏了一个斐波那契数列

在一个比较斜的行上,存在一个斐波那契数列。

中国古代数学家杨辉

中国南宋1261年,中国数学家杨辉在《详解九章算法》中提出了杨辉三角的概念。

该书中称,早在中国北宋1023年~1050年间,中国数学家贾宪在其著作《释锁算术》已经用过了杨辉三角,但贾宪著作失传了。

杨辉三角也称为贾宪三角形。

21世纪以来国外也逐渐承认这项成果属于中国,所以有些书上称这是“中国三角形”(Chinese triangle)。

历史上曾经独立绘制过这种图表的数学家有:

  • 贾宪 中国北宋 11世纪 《释锁算术》

  • 杨辉 中国南宋1261《详解九章算法》记载之功

  • 朱世杰 中国元代 1299《四元玉鉴》级数求和公式

  • 阿尔·卡西 阿拉伯 1427《算术的钥匙》

  • 阿皮亚纳斯 德国 1527

  • 米歇尔.斯蒂费尔 德国 1544《综合算术》二项式展开式系数

  • 薛贝尔 法国 1545

  • B·帕斯卡 法国 1654《论算术三角形》

西方科学家帕斯卡

布莱士·帕斯卡(Blaise Pascal,1623年6月19日~1662年8月19日),出生于多姆山省奥弗涅地区的克莱蒙费朗,是法国数学家、物理学家、哲学家、散文家。

他的论文手稿对莱布尼茨(Gottfried Leibniz)建立微积分学有很大启发。

在研究二项式系数性质时,写成《算术三角形》向巴黎科学院提交,后收入他的全集,并于1665年发表。

其中给出的二项式系数展开后人称为“帕斯卡三角形”,实际它已在约1100年由中国的贾宪所知。

在与费马(Pierre Fermat)的通信中讨论赌金分配问题,对早期概率论的发展颇有影响。

他还制作了水银气压计(1646),写了液体平衡、空气的重量和密度等方向的论文(1651-1654)。

自1655年隐居修道院,写下《思想录》(1658)等经典著作。

杨辉三角形的应用

二项式系数

手算开方

这里选取一个手算开平方的例子:

概率论

如何计算第n层杨辉三角

杨辉三角规律明显,有很多方法可以计算第n层数字。

代码编程,从0开始。

我们可以通过队列来实现,根据之前学过的,Python中的deque。

比如:

0层:1

1层:1,1

2层:1,2,1

假设从队列2层推到3层,队列q=1,2,1,2层变换为3层队顺序如下:

左边1出队,加队首2等于3,存入队尾,得到2,1,3

左边2出队,加队首1等于3,存入队尾,得到1,3,3

右边填补1,得到1,3,3,1

代码实现

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/680381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开源与项目实战:开源实战】81 | 开源实战三(上):借Google Guava学习发现和开发通用功能模块

上几节课,我们拿 Unix 这个超级大型开源软件的开发作为引子,从代码设计编写和研发管理两个角度,讲了如何应对大型复杂项目的开发。接下来,我们再讲一下 Google 开源的 Java 开发库 Google Guava。 Google Guava 是一个非常成功、…

智能指针类模板:auto_ptr、unique_ptr、shared_ptr的原理与使用

1. 什么是智能指针 智能指针是行为类似于指针的类对象,通常用于管理动态内存分配。C程序通常手动动态分配堆内存,但如果动态分配的内存没有释放,则会发生内存泄漏。 例如代码段1.1。 // 代码段1.1 void demo() {double *pd new double;*pd…

使用STM32F103的串口实现IAP程序升级功能

使用STM32F103的串口实现IAP程序升级功能 🎬IAP程序烧录全过程演示: ✨这几天折腾IAP升级功能,狂补了很多相关BootLoader相关的知识。本来最想实现IAP升级程序的方式是,基于SPI通讯的SD卡,借助挂载的FatFS文件系统&am…

C++中的内存分区

目录 操作系统的内存区域 C内存分区模型 1. 程序运行前 2. 程序运行后 3. new 操作符的使用 操作系统的内存区域 text段:存储程序的二进制指令,即程序源码编译后的二进制代码data段:存储已被初始化的全局变量、常量bss段:存储…

ES-工作原理

前言 ​ 搜索引擎是对数据的检索,而数据总体分为两种:结构化数据和非结构化数据。而对于结构化数据,因为他们具有特定的结构,所以一般都是可以通过关系型数据库MySQL/oracle的二维表的方式存储和搜索,也可以建立索引。…

Redis的简单使用 (实现Session持久化)

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、Redis数据类型的使用 1. 字符串&#xff…

Redis【入门篇】---- Redis的Java客户端-Jedis

Redis【入门篇】---- Redis的Java客户端-Jedis 1. Jedis快速入门2. Jedis连接池1. 创建Jedis连接池2. 改造原始代码 在Redis官网中提供了各种语言的客户端,地址:https://redis.io/docs/clients/ 其中Java客户端也包含很多: 标记为❤的就是推荐…

密码学证明方案寒武纪大爆发——扩容、透明性和隐私的变革潜力

1. 引言 前序博客有: ZKP大爆炸 本文主要参考: StarkWare 2023年6月博客 Cambrian Explosion of Cryptographic Proofs----The transformative potential for scalability, transparency, and privacy2023年3月Eli Ben-Sasson在The 13th BIU Winter …

JavaWeb之Cookie和Session

文章目录 CookieCookie基本介绍Cookie的基本使用Cookie的创建从服务器获取CookieCookie值的修改方案一方案二 浏览器查看CookieCookie声明控制Cookie有效路径Path的设置 SessionSession基本介绍Session的创建和获取(id号,是否为新)Session域数…

【SQL server关键字】

目录: 前言一、CREATE -- 创建二、INSERT INTO VALUES -- 插入数据三、SELECT FROM -- 查找数据1.SEKECT简单了解2.函数的使用3.选择列表与group by子句的对应4.exists子查询 四、UPDATE SET -- 更改数据五、ALTER -- 修改属性六、JOIN ON-- 链接多个表1. join初…

JDBC 望舒客栈项目 万字详解

目录 一、前言 二、项目结构 三、准备工作 1.建立子包 : 2.导入jar包 : 3.工具类 : 1 Utility工具类 2 JDBCUtilsDruid工具类 4.导入配置文件 : 5.引入BasicDAO : 四、项目主体 1.界面显示 : 1 代码演示 2 运行测试 2.用户登录 : 1 创建员工表employee 2 创建Ja…

JavaScript 事件加载有哪些应用场景?

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是JavaScript事…

VUE L MVVM模型 ③

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs M V V M MVVM MVVM模型Data与El的2种写法总结 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ ⡖⠒⠒⠒…

多线程中的wait和notify

1、wait和notify 由于线程之间是抢占式执行的,所以线程之间的执行先后顺序难以预知。但实际上是希望合理的协调多个线程之间的执行先后顺序。 完成这个协调工作,主要涉及到三个方法 *wait()/wait(long timeout);让当前线程进入等待状态。 *notify()/n…

【每日算法 数据结构(C++)】—— 02 | 数组的并交集(解题思路、流程图、代码片段)

文章目录 01 | 👑 题目描述02 | 🔋 解题思路交集并集 03 | 🧢 代码片段交集并集 When you feel like giving up, remember why you started. 当你想放弃时,请记住为什么你开始 01 | 👑 题目描述 给你两个数组&#xff…

学习机组过程中的疑难问题与解决 -----(1)

本文章是在学习计算机组成原理过程中个人感觉需要理解与记忆的问题,还有一些在学习过程中自己产生的疑问以及解答,本文章可能排版不良,精力有限,还请见谅 第一章: (1)MAR的位数对应着存储单元的个数&#…

前端三剑客简介

文章目录 css的导入方式CSS选择器 JavascriptJavascript的引入方式输出语句变量数据类型javascript对象String对象 BOM对象DOM对象 W3C标准:网页主要由三部分组成 结构:html表现:css,层叠样式表行为:JavaScript css的…

VulnHub项目:Nagini

1、靶机地址: HarryPotter: Nagini ~ VulnHub 本篇为哈利波特死亡圣器系列的第二部,该靶机中存在3个魂器,依次找到它们,摧毁它们! 2、渗透过程 首先收集靶机ip和确定攻击机ip,同时探测靶机开放端口 存在…