JS实现的杨辉三角【帕斯卡三角形】算法示例


Posted in Javascript onFebruary 26, 2019

本文实例讲述了JS实现的杨辉三角【帕斯卡三角形】算法。分享给大家供大家参考,具体如下:

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

JS实现的杨辉三角【帕斯卡三角形】算法示例

题目: 给定非负整数numRows,生成Pascal三角形的第一个numRows。在Pascal的三角形中,每个数字是它上面两个数字的总和。

输入: 5

输出:

[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

JS代码如下:

<script>
var generate = function(numRows) {
  if (numRows) {
    var result = [[1]];
    for(var i = 1;i < numRows;i++) {
      result[i] = [];
      for(var j = 0; j < i + 1;j++) {
        result[i][j] = (result[i - 1][j] || 0) + (result[i - 1][j - 1] || 0);
      }
    }
    return result;
  }else {
    return [];
  }
};
console.log(generate(1000));
</script>

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JS实现的杨辉三角【帕斯卡三角形】算法示例

由于数据比较多,这里仅展示一部分运算结果,感兴趣的朋友可以自己动手测试一下,看看运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
B/S开发中常用javaScript技术与代码
Mar 09 Javascript
学习jquery必备 api中英文对照的chm手册 下载
May 03 Javascript
符合标准的js表单提交的代码
Sep 13 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
js操纵dom生成下拉列表框的方法
Feb 24 Javascript
Egret引擎开发指南之视觉编程
Sep 03 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
js+html制作简单日历的方法
Jun 27 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
Node之简单的前后端交互(实例讲解)
Nov 14 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
Oct 22 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 #Javascript
JS实现电话号码的字母组合算法示例
Feb 26 #Javascript
JS实现的合并两个有序链表算法示例
Feb 25 #Javascript
JS实现判断有效的数独算法示例
Feb 25 #Javascript
js实现通过开始结束控制的计时器
Feb 25 #Javascript
js实现倒计时器自定义时间和暂停
Feb 25 #Javascript
JS module的导出和导入的实现代码
Feb 25 #Javascript
You might like
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
vue组件与复用详解
2018/04/08 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
vue实现拖拽效果
2019/12/23 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
对Python _取log的几种方式小结
2019/07/25 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
美化环境标语
2014/06/20 职场文书
德育标兵事迹材料
2014/08/24 职场文书
交通事故委托书范本
2014/09/28 职场文书
大四学生个人总结
2015/02/15 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
vue实现移动端div拖动效果
2022/03/03 Vue.js