1.1.20 #
解答 #
根据对数的性质可以得到:
$$ \ln(N!) = \ln(N) + \ln(N – 1) + \ln(N – 2)… $$
代码 #
const int n = 4;
Console.WriteLine($"{FactorialLn(n)}");
// ln(N!) =
// ln(N * (N - 1) * ... * 1) =
// ln(N) + ln((N - 1)!)
static double FactorialLn(int n)
{
if (n == 1)
{
return 0;
}
return Math.Log(n) + FactorialLn(n - 1);
}