杨辉三角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
……………………
杨辉三角的性质:
1.第n行的元素个数有n个;
2.第n行的所有元素之和为2(n-1);
3.第n行第m个数的值为C(n-1, m-1),其中C为组合数;
4.(a+b)n 展开后的各项系数等于第n+1行的值;
5.第n行第m个数的奇偶判断,及C(n-1,m-1)的奇偶判断:(m-1)&(n-1)==(m-1)? 奇 : 偶;
杨辉三角打印代码:
void YangHui() {
memset(Triangle, 0, sizeof(Triangle));
for (int i=0; i<n; ++i) {
Triangle[i][0]=1;
for (int j=1; j<n; ++j) Triangle[i][j]=Triangle[i-1][j-1]+Triangle[i-1][j];
}
}
杨辉三角的应用:
最好的应用之一就是减少求组合数的复杂度:将杨辉三角的值打印出来后,只需要查表即可得到正确结果,这个对于求排列组合数非常有用:
其次是利用奇偶性质找规律: