`

以最简单的思想用javascript实现杨辉三角

阅读更多

基本思想:利用杨辉三角的基本性质之一,每个数字等于上一行的左右两个数字之和。即第n+1行的第i个数等于第n行的第i-1个数和//第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)

//为了使得函数能在后期的使用中更方便,使复用性更高,在Pascal函数中实现将杨辉三角的数据存放在数组中
	function Pascal(n){
		var preArr=[1];//不要写成preArr=new Array(1);否则初始值为空数组(undefined)
		var nextArr=new Array();//下一次需要输出的数据存放在这里
		var result=new Array();//结果数据

		for(var h=1;h<n+1;h++){
			result.push(preArr);//向结果数据中添加值
			//改变数组的值,作为下一组数据(h+1行)
			nextArr=[];//必须先将nextArr清空
			for (var i = 0; i < h+1; i++) {
				(i==0||i==h) ? nextArr[i]=1 : nextArr[i]=preArr[i-1]+preArr[i];
			}
			//初始化前一行(下一轮的当前行)
			preArr=nextArr;
		}
		return result;
	}

 应用示例1:输出杨辉三角

var m=Pascal(10);//输出前十行
	for (var i = 0; i < m.length; i++) {
		for(var k=0;k<m.length-i;k++){
				document.write('&nbsp;');
			};//先输出m.length-i个空格
		for (var j = 0; j < m[i].length; j++) {
			document.write(m[i][j]+'&nbsp;');
		}
		document.write('<br>');
	}

 应用示例2:求a+b的10次方的展开式,利用杨辉三角的另一个基本性质(a+b)^n的展开式的各项系数依次为杨辉三角第n+1行中的值

function demo(n){
		var result='';
		for(var i=0;i<n+1;i++){
			result+='+'+Pascal(n+1)[n][i]+'(a^'+(n-i)+"*"+'b^'+i+')';
		}
		return result.substr(1);
	}
	console.log("(a+b)^10="+demo(10));

 示例1结果图:

示例2结果图:

  • 大小: 18.4 KB
  • 大小: 17.4 KB
分享到:
评论

相关推荐

    杨辉三角.java用java实现杨辉三角的程序

    java实现杨辉三角 杨辉三角.java用java实现杨辉三角的程序

    【数据结构】C用队列实现杨辉三角

    用队列实现杨辉三角 队列杨辉三角 c实现杨辉三角 c用队列实现杨辉三角 用队列实现杨辉三角 队列杨辉三角 c实现杨辉三角 c用队列实现杨辉三角

    c语言实现杨辉三角 数据结构资源

    c语言实现杨辉三角 数据结构资源 c语言实现杨辉三角 数据结构资源 c语言实现杨辉三角 数据结构资源

    用二维数组实现杨辉三角

    杨辉三角,亦称贾宪三角、帕斯卡三角,是一种由数字构成的三角形数列,每个数字是其正上方两个数字之和(最外侧的数字为1)。在数学中,杨辉三角与二项式系数、组合数紧密相关,是组合数学的重要组成部分。在计算机...

    C#实现杨辉三角

    C#实现杨辉三角 杨辉三角是一种三角形数字阵列,具有以下规律:数组中第一列的数值都是 1,接着后面的每一个元素的值都等于该行上一行对应元素和上一行对应前一个元素的值之和。C#语言可以用来实现杨辉三角的生成。...

    多种编程语言实现杨辉三角形

    多种编程语言实现杨辉三角形 杨辉三角形,又称帕斯卡三角形,是二项式系数在三角形中的一种几何排列。这种特殊的三角形阵最早由中国南宋数学家杨辉在1261年所著的《详解...JavaScript实现杨辉三角形 PHP实现杨辉三角形

    用汇编语言实现杨辉三角

    这是一个用汇编语言实现杨辉三角的程序,实现格式输出 带有详细注释

    杨辉三角 用c#编写的简单程序

    下面我们将深入探讨这个概念,并结合C#编程语言来实现一个简单的杨辉三角程序。 首先,我们需要了解杨辉三角的基本结构。第n行的杨辉三角由n+1个数字组成,第0行(即最上面的一行)只有一个数字1,每一行的第一个和...

    循环队列实现杨辉三角

    该C程序使用循环队列实现了N行杨辉三角的输出,实现简单。 使用VC进行编译即可。

    用java实现杨辉三角

    杨辉三角,又称帕斯卡三角,是一种在数学中广泛使用的二维数字模式,它展示了二项式系数的规律。在每一行中,每个数字是它上面两个数字的和,而边缘的数字始终为1。杨辉三角在组合数学、概率论、计算机科学等多个...

    队列实现杨辉三角

    本主题将探讨如何利用队列的特性来实现杨辉三角。 首先,我们来理解一下杨辉三角的基本概念。杨辉三角每一行的数字是上一行相邻两个数字的和,其形状类似于一个倒置的等腰三角形。第n行有n个数字,第一行和最后一行...

    用java打印杨辉三角

    在这个Java编程实践中,我们将学习如何用Java来打印杨辉三角。 首先,我们了解杨辉三角的基本概念。每个数字是它正上方两个数字的和,三角形的边缘总是1。例如,前几行的杨辉三角形如下所示: ``` 1 1 1 1 2 1 ...

    自编写的杨辉三角完美版

    杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版 杨辉三角完美版

    java实现杨辉三角形

    学习如何用Java实现杨辉三角形有助于提升对数组操作、循环和递归的理解,这些都是编程中的基础技能。 以上就是关于“Java实现杨辉三角形”的详细解释,通过这个程序,你可以深入理解数组操作、循环控制以及递归思想...

    队列 实现杨辉三角

    队列实现杨辉三角

    锯齿数组打印杨辉三角形

    在计算机科学中,杨辉三角是一种特殊的数列,它以中国数学家杨辉的名字命名。杨辉三角的每一行的第一个和最后一个元素都是1,其他元素是其上一行的两个元素之和。这是一种非常有趣的数列,它在数学和计算机科学中...

    用c++编写杨辉三角形

    杨辉三角,又称帕斯卡三角,是一种二维的数字阵列,因其形状酷似一个倒置的等腰三角形而得名。它在数学中有着广泛的应用,包括组合数学、二项式定理以及多项式展开等多个领域。在C++编程中实现杨辉三角形,主要是...

    杨辉三角的循环输出 C++实现-杨辉三角c++

    此外,C++标准库提供了一种更简洁的表示杨辉三角的方法,即使用`std::vector`容器。使用`std::vector`,你可以动态地添加元素,而无需预先知道确切的大小。这将使代码更加灵活,但也可能引入一些额外的内存管理开销...

    C++二维数组实现杨辉三角的前10行输出

    ### C++实现杨辉三角的前10行输出 #### 背景介绍 杨辉三角(也称为帕斯卡三角)是一种常见的数学结构,在组合数学、概率论以及多项式展开等方面有着广泛的应用。它是由一系列数字组成的一个三角形数组,每个数字是...

Global site tag (gtag.js) - Google Analytics