我在编写用于计算n的代码时遇到问题!没有递归.我知道如何在循环中执行它,但我不知道如何非递归地执行它.
procedure factorial
if n = 1 or n = 0
return 1
if n>1
return(n*factorial(n-1))
end
Run Code Online (Sandbox Code Playgroud)
这是一个迭代解决方案:
int factorial(int n) {
int f = 1;
for(int i=1;i<=n;i++) {
f *= i;
}
return f;
}
Run Code Online (Sandbox Code Playgroud)