斯特林公式
-
斯特林公式
斯特林公式(Stirling's approximation)是一条用来取n的阶乘的近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特林公式十分好用,而且,即使在n很小的时候,斯特林公式的取值已经十分准确。
![](https://gss2.bdstatic.com/-fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D112/sign=4aec460be7cd7b89ed6c3e823d264291/4bed2e738bd4b31c19ead27a86d6277f9f2ff819.jpg)
代码:
1 #include<bits/stdc++.h> 2 using namespace std; 3 double PI=acos(-1.0); 4 int main() 5 { 6 long long n,i,j,t; 7 double r=0; 8 scanf("%lld",&n); 9 if(n<=3){puts("1");} 10 cout<<(long long)(floor(log10(sqrt(2*PI*n))+n*log10(n)-n*log10(exp(1)))+1)<<endl; 11 return 0; 12 }