javascript楊輝三角的例子

WBOY
發布: 2016-07-25 09:12:59
原創
1241 人瀏覽過

楊輝三角是計算二項式乘方展開式的係數時必不可少的工具、是由數字排列而成的三角形數表。

效果如下圖: 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("
    ") ;
}
複製程式碼

而每行每一個數字均為組合數C(m,n)、其中m為行號(從0算起)、n為在該行中的序號(從0算起)、即:
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);
}
複製程式碼

js印出楊輝三角的完整程式碼:

  1. 字串路徑= request.getContextPath();
  2. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/ ";
  3. %>
  4. 楊輝三角
  5. createDate 2010-7-8
  6. 作者旦旦而學
  7. --%>;
  8. ;
  9. 楊輝三角--bbs.it-home.org
  10. ;
  11. 函數組合(m ,n){
  12. if(n == 0) return 1; // 每行第一個數為1
  13. else if(m == n) return 1; //最後一個數為1
  14. //其餘都是相加而來
  15. else return Combination(m-1,n-1)+Combination(m-1,n);
  16. }
  17. function Pascal(n){ //楊輝三角,N為行數
  18. for( var i = 0 ; i for ( var j = 0 ;= i ; // 每行數字的個數即行號、例如第1行1個數、第2行2個數
  19. document.write(Combination( i,j)+" ");
  20. }
  21. document.write("");
  22. }
  23. }
  24. ;
  25. 頭>
  26. >
  27. 身體>
複製程式碼


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板