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 相关文章推荐
手把手教你自己写一个js表单验证框架的方法
Sep 14 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
Mar 12 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
Sep 13 Javascript
JS声明变量背后的编译原理剖析
Dec 28 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
Mar 19 Javascript
Bootstrap每天必学之警告框插件
Apr 26 Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 Javascript
js数组去重的hash方法
Dec 22 Javascript
VUE实现日历组件功能
Mar 13 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
Apr 11 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 Javascript
vue实现可拖拽的dialog弹框
May 13 Vue.js
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
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
深入理解python try异常处理机制
2016/06/01 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
法定代表人身份证明书
2014/09/10 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
2014年司机工作总结
2014/11/21 职场文书
2015年派出所工作总结
2015/04/24 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python