【发布时间】:2019-04-24 22:30:38
【问题描述】:
int f(int n,int a,int x)
{
if(a==1)
{
if(n>=0 && n<=x) //HERE WAS ERROR,sorry
return 1;
else
return 0;
}
int ans=0;
for(int i=0;i<=x;i++)
ans += f(n-i,a-1,x);
return ans;
}
你好!
例子:
这是算法,但它花费了很多时间。 也许您知道解决此问题的更快方法?非常感谢,很抱歉让您担心。
【问题讨论】:
-
语言?可能是 C99、C++、C#、Java,还有什么?
-
@leppie: 由于 OP 称其为算法,它必须是伪代码;)
-
@leppie 我认为这并不重要——重要的是算法。
-
@LuVue:如果您的示例的答案是 1,那么为什么您的函数返回 9?哦,答案是动态规划。
-
@leppie:没关系,我就是想知道算法……