求助组合数
我要求 Cnimod232 (n 固定)
然后我写了个这个东西:
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