当前位置: 代码迷 >> Java相关 >> 各位高手速来帮忙
  详细解决方案

各位高手速来帮忙

热度:87   发布时间:2009-09-11 16:23:09.0
各位高手速来帮忙
如何用JS的一维数组来输出杨辉三角
搜索更多相关的解决方案: 杨辉三角  如何  

----------------解决方案--------------------------------------------------------
<script type="text/javascript">
<!--
    function jiecheng(m){ //求阶乘
   if(m==1)return 1;
    else return m*(jiecheng(m-1)); //递归算:法n!=n*(n-1)!
}  

function yang(n){ //打印杨辉三角,n为行数
     if(n<1){document.write("<font color='red'><b>ERROR:</b></font> N<1");return 0;} //n<0,无效输入
     a=new Array(n);
     for(i=1;i<=n;i++){ //计算两边"1"位置
    a[i]=new Array(n);
    a[i][1]=1;
    a[i][i]=1;}              
   if(n>2){ //计算中间非"1"的位置
          for(i=3;i<=n;i++){
      for(j=2;j<i;j++){
       a[i][j]=a[i-1][j-1]+a[i-1][j];
      }}}
     document.write("<table border=0px;>");  
   for(i=1;i<=n;i++){ //双重循环,输出杨辉三角
      document.write("<tr>");  
    for(m=1;m<=n-i;m++){document.write("<td class='yang'> </td>");}//输出每行前面的空格
    for(j=1;j<=i;j++){ //输出一行
       document.write("<td class='yang' bgcolor=green>");
     document.write(a[i][j]);
     document.write("</td>");
     document.write("<td class='yang'> </td>");
    }
    for(m=1;m<=n-i;m++){document.write("<td class='yang'> </td>");}//行末补n-i个空单元格
    document.write("</tr>"); //一行结束,换行
   }
   document.write("</table>");
}

document.write(jiecheng(6));
document.write("<br>");
yang(10);

-->
</script>


从网上搜的,你看行不行
----------------解决方案--------------------------------------------------------
回复 2楼 lixingjiang
第一次发贴看到有人回复感觉真不错!不过你发过来的那种方法我会,老师说要用一维数组做,现在问题已经解决了,谢了!
----------------解决方案--------------------------------------------------------
  相关解决方案