杨辉三角和排列组合的关系

进入正题:众所周知,杨辉三角形(也称“帕斯卡三角形”,后同)长这样↓

杨辉三角形
即每一项等于左上方的数加右上方的数的和

学编程的人一般看作这样↓

在这里插入图片描述
即每一项等于左上方的数与上方的数之和。
写个简单的递推式。

#include<stdio.h>
const int maxn=1e4+5;
int f[maxn],n;
int main(){
	scanf("%d",&n);f[1][1]=1;
	for(int i=2;i<=n;i++)
        for(int j=1;j<=i;j++)
            f[i][j]=f[i-1][j-1]+f[i-1][j];
    for(int i=1;i<=n;i++)
        for(int j=1;j<=i;j++)
            printf("%3d%c",f[i][j],j==i?'\n':' ');
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

简单的递推式。c++

杨辉三角长啥样都知道了,那它与组合数有啥关系呢?

关系:C n m C^m_nCnm的值等于杨辉三角形第n行第m个数
递推公式:C n m = C n − 1 m − 1 + C n − 1 m C^m_n=C^{m-1}_{n-1}+C^{m}_{n-1}Cnm=Cn1m1+Cn1m

关系可以由递推公式得到。

 

 

 

 

转载 原创: https://blog.csdn.net/weixin_36171392/article/details/102251204

 

posted @ 2020-09-29 09:08  姓蜀名黍  阅读(1982)  评论(2)    收藏  举报