मान लीजिए कि हमारे पास एक संख्या एन है, हमारा काम रिकर्सन का उपयोग करके एलएन (एन!) ढूंढना है। ln() मूल रूप से लॉग बेस ई है। इसे हल करने के लिए हम इस सूत्र का उपयोग कर सकते हैं -
$$\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