使用 C++ 中的递归找出 ln(N!) 的值。
假设我们有一个数字 N,我们的任务是使用递归找出 ln(N!)。ln() 基本上是 e 为底的对数。为了解决这个问题,我们可以使用以下公式:
ln⟮N!⟯=ln⟮N∗⟮N−1⟯∗⟮N−2⟯∗⋯∗2∗1⟯=ln⟮N⟯+ln⟮N+1⟯+⋯+ln⟮1⟯
示例
#include<iostream> #include<cmath> using namespace std; double factLog(int n) { if (n <= 1) return 0; return factLog(n - 1) + log(n); } int main() { int N = 3; cout << factLog(N); }
输出
1.79176
广告