使用 C++ 中的遞迴找出 ln(N!) 的值。
假設我們有一個數字 N,我們的任務是使用遞迴找出 ln(N!)。ln() 基本上是 e 為底的對數。為了解決這個問題,我們可以使用以下公式:
$$\ln\lgroup N!\rgroup=\ln\lgroup N*\lgroup N-1\rgroup *\lgroup N-2\rgroup *\dotsm*2*1\rgroup=\ln\lgroup N\rgroup+\ln\lgroup N+1\rgroup+\dotsm+\ln\lgroup 1\rgroup$$
示例
#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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP