我需要一个公式来计算(n!/ i!)的表达式乘法,其中i从0变化到n-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;
请注意,您可能需要x
和result
的bigint表示,因为它们会快速溢出。