0 引言

杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。它具有以下的特征:1、最外层的数字始终是 1 2、第二层是自然数列 3、第三层是三角数列 4、三角数列相邻数字相加可得方数数列 5、每一层的数字之和是一个2倍增长的数列 6、斐波那契数列(按一定角度排列) 7、素数(在杨辉三角里,除了第二层自然数列包含了素数以外,其他部分的数字都完美避开了素数。) 8、可以被特定数整除的数字形成了奇妙的分形结构

1 问题描述

  1. 用python写出杨辉三角数

示例一:

输入:n = 10

输出:“1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1”

解释:除两边的1之外,每个数字等于它肩上的两数字之和

2 算法描述

解题思路:首先要明白杨辉三角的组成为,除了两边的1之外,每个数字等于它肩上的两数字之和。(其实两边的1也可以想成在左右两边的1的左右还有个0)。我们由杨辉三角可得其第一行为1,所以暂定一个arr = [1],在知道运行逻辑后我们就运用循环求出所需行数的杨辉三角数(这里运用的是while循环)。因为杨辉三角数由其肩上左右两数之和所得,但通过观察我们可得杨辉三角数整体是呈现对称分布的,所以在这里我们确定一个为左起始,一个为右起始的列表,之后我们就可以通过循环求和,得到杨辉三角数。但是之后发现得到的是个集合,所以为了美观,我们先将其转化为字符串(str),通过简单内置函数“join”连接字符串,得到最终答案。当然我们发现最后会少个1,没关系,这个直接打印,简单又粗暴。

3 实验结果与讨论

通过编程最终实现了杨辉三角的呈现。

附件

代码清单 用python求出杨辉三角数

arr = [1]
print(1) # 初始结果
while len(arr) < 10: # 确定行数
a = [0] + arr # [0,1,1]代表从右往左的全部三角数
b = arr + [0] # [1,1,0]代表从左往右的全部三角数
arr = [a[i] + b[i] for i in range(len(a))] # [1,2,1] 通过求和相加求出所有的杨辉三角数
s = [str(i) for i in arr] # 将答案变成字符串的类型
print(' '.join(s)) # 连接字符串,输出答案

4

杨辉三角的探讨是对古典数学的回顾,也是对逻辑思维的探讨,从逻辑发现数学之美,探讨编程的博大精深。

走进传奇的“杨辉三角”相关推荐

  1. 用python实现杨辉三角的几种不同方式

    杨辉三角的概念 比较详细的知识可以看这里,在杨辉三角中,每个数是它左上方和右上方的数的和. 1/ \1 1/ \ / \1 2 1/ \ / \ / \1 3 3 1/ \ / \ / \ / \1 ...

  2. LeetCode简单题之杨辉三角 II

    题目 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: rowIndex = 3 输出: [1 ...

  3. LeetCode简单题之杨辉三角

    题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: numRows = 5 输出: [[1], ...

  4. 最详细的----->一维数组实现杨辉三角

    代码循环部分的解析在代码之后 先来看代码 #include<stdio.h> int arr[20]; int main() {arr[0] = 1;int n;scanf_s(" ...

  5. java利用递归画杨辉三角_用java程序编写杨辉三角形,初学者适用

    原创代码(非网上照搬复制,个人原创,真实有效): import java.util.Scanner; class demo1 { public static void main(String[] ar ...

  6. 【每日一算法】杨辉三角 II

    每日一算法-杨辉三角 II 题目 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] ...

  7. 【每日一算法】杨辉三角到底是什么?

    每日一算法-杨辉三角 题目 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出:[     [1], ...

  8. 菲波那切数列php实现,php实现菲波那切数列和杨辉三角

    1.递归  显示斐波那契数列 function recursion($num){ //判断是否小于0 if($num<0){ return -1; } if($num==1){ return 0 ...

  9. HDU2032(杨辉三角)

    就是打印杨辉三角: #include<iostream> #include<algorithm> #include<cstring> #include<cma ...

最新文章

  1. 【bzoj3261】最大异或和 可持久化Trie树
  2. 欧洲打击洗钱 全球联合行动 178名钱骡落网
  3. The application's PagerAdapter changed the adapter's contents without calling notifyDataSetChanged
  4. 告别Kafka Stream,让轻量级流处理更加简单
  5. 从硅谷走出来,它们的成功有迹可循
  6. 01 c++常见面试题总结
  7. 哈夫曼编译器c语言程序,哪位大牛有哈夫曼编码的C语言源程序,麻烦帮帮忙啦!...
  8. 如何在 ASP.Net Core 中使用 Lamar
  9. 关于spark structed stream 流中的触发trigger间隔的理解
  10. java密码查询回显和修改流程_[求助]数据库信息如何回显在我的程序界面中
  11. 机器学习课程笔记【十二】- 主成分分析
  12. 大家好,我是谢公子,来自深信服—深蓝攻防实验室
  13. MDK5中F103C8T6的RCC时钟配置时指向RCC_AHB1PeriphClockCmd但报错identifier “RCC_AHB1Periph_GPIOB is undefined的解决
  14. Codeforces_714_A
  15. 维智创始人陶闯博士:利用数字孪生空间计算供需平衡寻找最优解|元宇宙与碳中和
  16. 【K8S实战】-超详细教程(二)
  17. NBA球星数据可视化分析-FineBI
  18. Redis - 哨兵机制与主从切换
  19. 微信公众号开发(一)环境搭建、接口信息配置
  20. 从《羊了个羊》看随机数的生成原理

热门文章

  1. 代餐消费“C位出道”,瘦身市场的韭菜怎么割?
  2. oracle12c客户端安装配置,Oracle 12.2简易客户端安装配置
  3. html video标签 mp3,html5中的video标签和audio标签详解
  4. MacPro无法正常识别电池解决方案
  5. 快速获取图片颜色RGB
  6. 关于系统无法安装.NET Framework 3.5(包括.NET 2.0 和 3.0) 关于 错误代码:0x800F0950
  7. 关于CAD建模的问题
  8. Win10电脑屏幕一直闪烁怎么回事?
  9. QCustomPlot系列(4)-时间轴做X轴-散点图-阶梯图
  10. java求两个数的平均值-这么简单我竟然不会?