http://www.Sina.com/http://www.Sina.com /斯特林公式: (n越大越准确)
更准确地说:
或:
相关主题:虚假数学游戏
1、计算n!的位数
关于整数x,可知其位数为[lgx] 1
所以对n!其位数[LG(n )! (1)
根据斯特林的公式:
因此,其位数res为:
代码实现:
# include bits/stdc.husingnamespacestd; #defineeexp(1) #definepiACOS(-1 ) typedef long ll; 以doublelogy(doublex,int y )/y为底的x的对数(returnlog ) x )/log ) ) double ) y ); }计算}llf(llx,int y )/x的阶乘在y进制中的位数(doubleRES=logy )2* pi * (double ) x,) double ) y )/2.0 ) double ) x*logy ll ans=res; return ans 1; } 2、估计lg(n!)的大小
代码实现:
# include bits/stdc.husingnamespacestd; #defineeexp(1) #definepiACOS(-1 ) typedef long ll; ll x,n; doublef(llx ) /计算以10为底x! 的对数{doubleRES=log10(2*pi* ) double ) x )/2.0 ) double ) x*log10 ) ) double ) x/e ); 返回结果; }