杨辉三角

来源:互联网 发布:华资软件招聘 编辑:程序博客网 时间:2024/06/03 20:10

杨辉三角又称帕斯卡三角

他有如下形式:




我们可以看出  当k==0时,值为1;(k为列,n为行)

当k==n时,值为1;

其他时候,值为其上方的数加上其上方的左边的数;


所以我们可以用递归或者数组进行迭代:

下面写出一中递归的方法:

  int rec(int k,int n)

if(k==0||k==n)

return 1;

else

return rec(k,n-1)+rec(k-1,n-1);


                         void main(){

 for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i>=j){
printf("%d ",rec(j,i));
}else{
printf(" ");
}
}
printf("\n");
}

}


   如果我们定义 n选取k 为(n,k); 则 (n,k)=(n*(n-1)...*(n-k+1))/(k!);   表示n种小球中取出k种小球的不同取法;

例如 :(4,2)=6  说明 从4种小球中取出2种小球的不同取法为6种;

另外(n,k)也是二项系数 (x+y)^4 的展开式为:x^4+4*x^3y+6*x^2y^2+4*xy^3+y^4; 其系数为1 4 6 4 1 正好为杨辉三角的第四行;

二项系数中最重要的一个二项恒等式就是 (n,k)=(n-1,k)+(n-1,k-1);