需要一个公式来计算(i-> 0到n-1)π(n!/ i!)

时间:2014-11-11 09:01:30

标签: c math

我需要一个公式来计算(n!/ i!)的表达式乘法,其中i从0变化到n-1。这样我就可以将它实现为代码了。琐碎的方式超过了时间限制。欢迎任何快速建议

1 个答案:

答案 0 :(得分:0)

x = (n!/i!) = (i+1) * (i+2) * ... * (n)

因此,在伪代码中(以相反的顺序进行以提高效率):

x = 1;
result = 1;
for (j = n; j > 0; j--) {
  x = x * j;
  result = result * x; // Or + if you want the sum instead of the product
}
return result;

请注意,您可能需要xresult的bigint表示,因为它们会快速溢出。