求助组合数
  • 板块学术版
  • 楼主cmll02
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/3/22 09:39
  • 上次更新2023/11/5 01:45:15
查看原帖
求助组合数
171487
cmll02楼主2021/3/22 09:39

求助组合数

我要求 Cnimod232C_n^i\mod 2^{32} (nn 固定)

然后我写了个这个东西:

    C[0]=1;
    for(int i=1;i<=p;i++)
    {
        C[i]=C[i-1]*(n+1-i);
        unsigned t=i;
        while(1)
        {
            if(t&1)break;
            if(C[i]&1)break;
            t>>=1;
            C[i]>>=1;
        }
        C[i]*=inv(t);
        printf("%u\n",C[i]);
    }

inv:

inline int inv(int x)
{
    int res=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    x*=x;res*=x;
    return res;
}

然后前几个是对的,后面就炸了...求助qwq

2021/3/22 09:39
加载中...