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判断对象是否存在的10种方法总结
Dec 23 Javascript
一个简单的jQuery计算器实现了连续计算功能
Jul 21 Javascript
使用JQuery实现的分页插件分享
Nov 05 Javascript
Three.js学习之文字形状及自定义形状
Aug 01 Javascript
JS中的作用域链
Mar 01 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
小程序自定义组件实现城市选择功能
Jul 18 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
May 28 Javascript
Vue.js组件实现选项卡以及切换特效
Jul 24 Javascript
Vue中使用matomo进行访问流量统计的实现
Nov 05 Javascript
使用Vue实现简单计算器
Feb 25 Javascript
Vue多选列表组件深入详解
Mar 02 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
怎样在php中使用PDF文档功能
2006/10/09 PHP
php对称加密算法示例
2014/05/07 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
js实现日历
2020/11/07 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
使用Python抓取模板之家的CSS模板
2015/03/16 Python
详解Python编程中time模块的使用
2015/11/20 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python excel转换csv代码实例
2019/08/26 Python
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
摄影助理岗位职责
2014/02/07 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
节能环保演讲稿
2014/08/28 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS