如何通过120字节限制?

时间:2011-03-08 07:31:21

标签: c++ c

这实际上是一个SPOJ问题:WAYS

现在这是一项非常简单的任务,我们需要做的是计算Central binomial coefficients.

然而问题设置器包含一个非常臭名昭着的120字节源限制,所以我的问题是如何在允许的语言中超过源代码限制?

2 个答案:

答案 0 :(得分:5)

假设C(2n,n) = (2n)!/(n!)^2 = (2n(2n-1)/n^2) * C(2(n-1),n-1) = ((4n-2)/n)*C(2(n-1),n-1)这里是函数,它计算中心二项式:

int f(int n)
{
    return n==1? 2 : f(n-1)*(4*n-2)/n;
}

编辑:这可能是最短的代码:

int f(int n){return n<2?2:f(n-1)*(4*n-2)/n;}

只有44个字符。

答案 1 :(得分:1)

我没有尝试编写代码,但由于m的值仅为14,因此您可以提交表格。不确定代码是否可以比这短。