目录
11.2 组合数的计算!
(1) 使用加法递推——O(n^2)
(边界条件
)
int C[1001][1001]; // 根据实际需要开数组,必要时采用高精度类型
……
memset(C,0,sizeof(C));
for (int i=0;i<=n;i++)
{
C[i][0]=1;
for (int j=0;j<=i;j++)
C[i][j]=C[i-1][j-1] + C[i-1][j];
}
(2) 使用乘法递推——O(n)
,边界条件
。必须先乘后除,否则除不开。
一个小优化:(m>n/2时用)
int C[1001]; // C[m]其实表示C[n][m],