javascript杨辉三角的例子

WBOY
Libérer: 2016-07-25 09:12:59
original
1241 Les gens l'ont consulté

杨辉三角是计算二项式乘方展开式的系数时必不可少的工具、是由数字排列而成的三角形数表。

效果如下图: javascript杨辉三角

资料:杨辉三角第n行的第1个数为1,第二个数为1×(n-1),第三个数为1×(n-1)×(n-2)/2,第四个数为1×(n-1)×(n-2)/2×(n-3)/3…依此类推。 杨辉三角另外一个重要的特性就是每一行首尾两个数字都是1、中间的数字等于上一行相邻两个数字的和、即排列组合中通常所运用的: C(m,n) = C(m-1,n-1)+C(m-1,n) 根据以上性质、可以利用函数很轻松地将杨辉三角运算出来、函数接受一个参数、即希望得到杨辉三角的行数:

  1. function Pascal(n){ //杨辉三角,N为行数
  2. //
  3. }
复制代码

在这个函数中用两个for循环进行嵌套、外层循环数为行数、内层循环为每行内的每一项:

  1. for( var i = 0 ; i for ( var j = 0 ; j }
  2. document.write("
    ");
  3. }
复制代码

而在每行中每一个数字均为组合数C(m,n)、其中m为行号(从0算起)、n为在该行中的序号(从0算起)、即:

  1. document.write(Combination(i,j)+"  "); //引号里面的内容是两个html空格(  )字符
复制代码

其中Combination(i,j)为计算组合数的函数、这个函数采用组合数的特性C(m,n) = C(m-1,n-1)+C(m-1,n)、对于这样的特性、最有效的办法就是递归:

  1. function Combination(m,n){
  2. if(n == 0) return 1; //每行第一个数为1
  3. else if(m == n) return 1; //最后一个数为1
  4. //其余都是相加而来
  5. else return Combination(m-1,n-1)+Combination(m-1,n);
  6. }
复制代码

js打印杨辉三角的完整代码:

  1. String path = request.getContextPath();
  2. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  3. %>
  4. 杨辉三角
  5. createDate 2010-7-8
  6. author 旦旦而学
  7. --%>
  8. 杨辉三角--bbs.it-home.org
复制代码


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal