ধরি একটি সংখ্যা N আছে, আমাদের কাজ হল রিকার্শন ব্যবহার করে ln(N!) বের করা। ln() মূলত লগ বেস e। এটি সমাধান করতে নিচের ফর্মুলা ব্যবহার করা যায়:
$$\ln(N!) = \ln(N \times (N-1) \times (N-2) \times \dots \times 2 \times 1) = \ln(N) + \ln(N-1) + \dots + \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