组合数递推(模板)

组合数,根据C(n,m)=C(n-1,m)+C(n-1,m-1)递推可得,时间复杂度O(n^2)

代码

#include<bits/stdc++.h>

using namespace std;
const int MAXN = 100;

int c[MAXN][MAXN];

int main(){
    int n=30;
    c[1][0]=c[1][1]=1;
    for(register int i=2;i<=n;i++){
        c[i][0]=1;
        for(register int j=1;j<=i;j++)
            c[i][j]=c[i-1][j]+c[i-1][j-1];
    }
    for(register int i=1;i<=n;i++)
        for(register int j=0;j<=i;j++)
            cout<<i<<" "<<j<<" "<<c[i][j]<<endl;
    return 0;
}
posted @ 2018-06-19 23:35  Monster_Qi  阅读(736)  评论(0编辑  收藏  举报