帕斯卡三角形(Pascal's triangle)
帕斯卡三角形(Pascal's triangle)(1)
據說帕斯卡三角形是高中數學的重點之一,現在我們來探究它的秘密吧!
1.帕斯卡三角形除了最左邊和最右邊的那一項,都是左上角的那一項和右上角的那一項的和
這應該是大家學帕斯卡三角形第一個觀察到的性質2.帕斯卡三角形的第N行第M項的值為C(N-1,M-1)
這個性質和性質1一樣都是容易觀察到的性質
它也被大量運用在程式設計上,例如下面這個算出C(n,m)的C++函式:
-
int C(int m,int n){
-
int re;
-
if((n==0)||(n==m)){
-
re=1;
-
}else{
-
re=C(m-1,n)+C(m-1,n-1);
-
}
-
return re;
-
}
這個函式是綜合性質1和性質2得到的結果
利用遞迴算出C(n,m)的答案
高中的大重點:二項式定理也可以透過此性質輕鬆計算
二項式定理:
(x+y)^n=
C(n,0)x^(n-0)*y^0
+C(n,1)x^(n-1)*y^1
+C(n,2)x^(n-2)*y^2
.
.
.
+C(n,n-1)x^1*y^(n-1)
+C(n,n)x^0*y^n
exp:
(x+y)^0=1---------------------------------->係數:1
(x+y)^1=x+y------------------------------->係數:1 1
(x+y)^2=x^2+2xy+y^2------------------->係數:1 2 1
(x+y)^3=x^3+3yx^2+3xy^2+y^3-->係數:1 3 3 1
.
.
.
發現了嗎?係數就是帕斯卡三角形!
練習題:
https://zerojudge.tw/ShowProblem?problemid=e102
485 - Pascal's Triangle of Death
3.帕斯卡三角形第n行的總和為2^(n-1)
int C(int m,int n){
int re;
if((n==0)||(n==m)){
re=1;
}else{
re=C(m-1,n)+C(m-1,n-1);
}
return re;
}
發現了嗎?係數就是帕斯卡三角形!
https://zerojudge.tw/ShowProblem?problemid=e102
485 - Pascal's Triangle of Death
可以由性質1發現:
1
1 1
1 1+1 1
1 1+(1+1) 1+(1+1) 1
下一列,每個數字出現在加法運算的次數是兩次
練習題:
https://zerojudge.tw/ShowProblem?problemid=d817
以後會再公布第二篇喔
如果有更好的想法或建議,請在留言區留言
可以由性質1發現:
1
1 1
1 1+1 1
1 1+(1+1) 1+(1+1) 1
下一列,每個數字出現在加法運算的次數是兩次
練習題:
https://zerojudge.tw/ShowProblem?problemid=d817以後會再公布第二篇喔
如果有更好的想法或建議,請在留言區留言
Comments
Post a Comment