Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++를 사용하여 재귀를 사용하여 ln(N!)의 값을 찾습니다.

<시간/>

숫자 N이 있다고 가정하고 우리의 임무는 재귀를 사용하여 ln(N!)을 찾는 것입니다. ln()은 기본적으로 로그 기반 e입니다. 이를 해결하기 위해 다음 공식을 사용할 수 있습니다 -

$$\ln\l그룹 N!\rgroup=\ln\l그룹 N*\l그룹 N-1\rgroup *\l그룹 N-2\rgroup *\dotsm*2*1\rgroup=\ln\l그룹 N\rgroup+\ ln\l그룹 N+1\r그룹+\dotsm+\ln\l그룹 1\r그룹$$

#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