1.1.20

上次更新:2019-04-17
发现了题解错误/代码缺陷/排版问题?请点这里:如何:提交反馈

解答

根据对数的性质可以得到:

ln(N!) = ln(N) + ln(N – 1) + ln(N – 2)…

代码

static void Main(string[] args)
{
    int N = 4;
    Console.WriteLine($"{factorialLn(N)}");
}

//ln(N!) =
//ln(N * (N - 1) * ... * 1) =
//ln(N) + ln((N - 1)!)
public static double factorialLn(int N)
{
    if (N == 1)
    {
        return 0;
    }

    return Math.Log(N) + factorialLn(N - 1);
}
上一题 下一题