Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm giá trị của ln (N!) Bằng cách sử dụng Đệ quy bằng C ++.

Giả sử chúng ta có một số N, nhiệm vụ của chúng ta là tìm ln (N!) Bằng cách sử dụng đệ quy. ln () về cơ bản là log cơ số e. Để giải quyết vấn đề này, chúng ta có thể sử dụng công thức này -

$$ \ ln \ lgroup N! \ rgroup =\ ln \ lgroup N * \ lgroup N-1 \ rgroup * \ lgroup N-2 \ rgroup * \ dotm * 2 * 1 \ rgroup =\ ln \ lgroup N \ rgroup + \ ln \ lgroup N + 1 \ rgroup + \ dotm + \ ln \ lgroup 1 \ rgroup $$

Ví dụ

#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);
}

Đầu ra

1.79176