dtu*_*y68 0 c c++ stack-overflow recursion stack
这个功能有一些问题吗?
unsigned long factorial(unsigned long m)
{
return (m == 0) ? 1 : m * factorial(m - 1);
}
Run Code Online (Sandbox Code Playgroud)
如果我添加另一个功能:
int myCombina(int q, int p)
{
return factorial(q) / ( factorial(q) * factorial(q-p) );
}
Run Code Online (Sandbox Code Playgroud)
这个myCombina()效率不高,因为应该取消最大公约数以找到组合.
max(factorial(q),factorial(qp))可以被取消.我们只需要计算qx(q-1)... x(q -k +1).
还有其他问题吗?
欢迎任何评论.
谢谢
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |