首页 > 编程知识 正文

stirling公式推导,stirling公式

时间:2023-05-05 20:56:43 阅读:186548 作者:3478

Stirling 公式

也就是说:

Stirling公式的意思是,当n足够大时,n! 计算非常困难。 关于n有很多! 的等式,但无法很好地估计阶乘结果。 特别是n大的话,误差会变得非常大。 然而,可以利用Stirling公式将阶乘转化为幂函数,从而更好地估计阶乘的结果。 而且n越大,估计越准确。

PKU 1423 Big Number

big number http://www.Sina.com/1000 ms

http://www.Sina.com/65536 k 3358 www.Sina.com/26811

Time Limit:8557

描述

inmanyapplicationsverylargeintegersnumbersarerequired.someoftheseapplicationsareusingkeysforsecuretransmionofdata, encryytionsforsecuretransmisionofdata etc.inthisproblemyouaregivenanumber,youhavetodeterminethenumberofdigitsinthefactorinthefactoriorianttttorionttorion

inputconsistsofseverallinesofintegernumbers.thefirstlinecontainsanintegern,whichisthenumberofcasestobested,Followedbyn

theoutputcontainsthenumberofdigitsinthefactorialoftheintegersappearingintheinput.sample input

21020样本输出

719源

Dhaka 2002

Memory Limit:

用Stirling公式求解n! 的位数:容易知道的整数n的位数为[lgn] 1。 使用Stirling公式计算n! 的位数时,可以两边取对数,为:

所以n! 的位数如下。

span style='font-size:18px;' # include iostream # includecmathusingnamespacestd; const double e=2.7182818284590452354; constdoublepi=3.141592653589793239; doublelogstirling(intn ) return0.5*log10 )2*pi*n ) n*log10 ) n/e ); }intmain(intargc,char *argv[] ) {int t,m; cin t; wile(t----) {cin m; cout(int ) logStirling(m ) m )1 endl; }return 0; (}/span

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。