编写非递归算法来计算n阶乘

时间:2014-04-17 22:04:15

标签: java algorithm recursion

我在编写用于计算n的代码时遇到问题!没有递归。我知道如何在循环中执行此操作,但我不确定如何以非递归方式执行此操作。

procedure factorial

if n = 1 or n = 0
return 1
if n>1
return(n*factorial(n-1))
end

1 个答案:

答案 0 :(得分:8)

这是一个迭代解决方案:

int factorial(int n) {
    int f = 1;
    for(int i=1;i<=n;i++) {
        f *= i;
    }
    return f;
}