【发布时间】:2016-05-25 17:25:25
【问题描述】:
我正在编写一个计算阶乘的程序。我们可以使用递归函数或 for 循环。我想知道哪一个有效,为什么?
递归:
int fact(int n)
{
if(n==0)
{
return 1;
}
return n*fact(n-1);
}
迭代:
int fact(int n)
{
int a=1;
for(int i=1;i<=n;i++)
{
a=a*i;
}
return a;
}
【问题讨论】:
-
既然你都没有提出,我们真的无法回答,不是吗?或者您要的是关于性能基准测试的教程?
-
没有代码,一个具体的例子,尝试你如何解决它或者你在分析两个版本时的结果只有一个有效的答案:分析它。
-
@Anedar 我已经输入了代码。请再看一遍
-
@kfsone 我已经输入了代码。请再看一遍
标签: c++ for-loop recursion iteration