求N的阶乘长度(斯特林公式)
生活随笔
收集整理的這篇文章主要介紹了
求N的阶乘长度(斯特林公式)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
輸入N求N的階乘的10進制表示的長度。例如6! = 720,長度為3。
求N的階乘長度
計算n!的公式是斯特林公式:
計算一個數(shù)的長度為 log10(n) +1
AC代碼:
/*** ┏┓ ┏┓+ +* ┏┛┻━━━┛┻┓ + +* ┃ ┃ * ┃ ━ ┃ ++ + + +* ████━████ ┃+* ┃ ┃ +* ┃ ┻ ┃* ┃ ┃ + +* ┗━┓ ┏━┛* ┃ ┃ * ┃ ┃ + + + +* ┃ ┃* ┃ ┃ + 神獸保佑* ┃ ┃ 代碼無bug * ┃ ┃ + * ┃ ┗━━━┓ + +* ┃ ┣┓* ┃ ┏┛* ┗┓┓┏━┳┓┏┛ + + + +* ┃┫┫ ┃┫┫* ┗┻┛ ┗┻┛+ + + +*/ #include<iostream> #include<cstring> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; const double e=2.718281828459; const double pi=acos(-1.0); int main() {ll n;while(cin>>n){ll len=0.5*log10(2*n*pi)+n*log10(n/e)+1;cout<<len<<endl;}return 0;}總結(jié)
以上是生活随笔為你收集整理的求N的阶乘长度(斯特林公式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 校验一个字符串是否是手机号码
- 下一篇: 经典问题总结——开关灯问题