我在如何实现部分递归函数方面遇到了麻烦(尽管至少在我看来)。

对于任何给定的p和任意的maxsteps = 100,计算L

c# - 在C#中实现部分递归函数-LMLPHP

最佳答案

您可以将maxsteps传递给递归函数,并在每一步中减去1,直到达到0,这是结束条件:

public double L(double p, int maxSteps)
{
    if (maxSteps == 0)
    {
        return 1 / (p + 1);
    }
    return 1 / (p + L(p, maxSteps - 1));
}

09-26 14:34