我在编写用于计算n的代码时遇到问题!没有递归。我知道如何在循环中执行此操作,但我不确定如何以非递归方式执行此操作。
procedure factorial
if n = 1 or n = 0
return 1
if n>1
return(n*factorial(n-1))
end
答案 0 :(得分:8)
这是一个迭代解决方案:
int factorial(int n) {
int f = 1;
for(int i=1;i<=n;i++) {
f *= i;
}
return f;
}