组合数

1 C[0][0] = 1; //i是下标 j是上标
2 for(int i = 1; i <= 100; i ++)
3 {
4     C[i][0] =  1;
5     for(int j = 1; j <= i; j ++)
6     {
7         C[i][j] = C[i - 1][j - 1] + C[i - 1][j]; //可在这里取模
8     }
9 } 
ll C(int a,int b)
{
    ll ans = 1;
    for(int i = a,j = 1;i > a - b;i --,j ++)
    {
        ans = ans*i*1ll/j;
    }
    return ans;
}
原文地址:https://www.cnblogs.com/yuanweidao/p/11215182.html