杨辉三角
最近在学习javascript,有个范例是杨辉三角http://dl.iteye.com/upload/attachment/608885/9e80294c-eb16-3fa5-8f5b-e08ec9eb9cd1.jpg
公式为http://dl.iteye.com/upload/attachment/608897/12186717-8aa1-3262-9885-c1a4db9d3cc5.jpg
用上一组相邻元素相加得到现有元素的值,这样计算的话,简洁易懂,不用再把公式扩展开来
function Combination(m,n){if(n==0) return 1;//每行第一个数为1else if(m==n) return 1;//最后一个数为1//其余都是上一行相邻元素相加而来else return Combination(m-1,n-1)+Combination(m-1,n);}function Pascal(n){ //杨辉三角,n为行数for(var i=0;i<n;i++){//一共n行 for(var j=0;j<=i;j++)//每行数字的个数即为行号,例如第一行1个数,第二行2个数 document.write(Combination(i,j)+"&nbsp;&nbsp;"); document.write("<br>");}}Pascal(10);//直接传入希望得到的杨辉三角的行数
页:
[1]