숫자 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