组合数,根据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;
}