例题链接:
ACM ICPC2012 成都站 B 快速排列组合
void pre()//初始化数组
{
memset(logn, 0.0, sizeof(logn));
for (int i = 1; i < maxn; i++)
{
logn[i] = logn[i - 1] + log(i*1.0);
}
}
double C(int n, int m)//调用函数
{
return exp(logn[n] - logn[m] - logn[n - m]);
}