本站导航
公司简介斯林(Stirling)公式求大数阶乘的位数-灬从此以后灬-博客园
)=loge(n!巴南区代办营业执照流程斯林(Stirling)公式求大数阶乘的位数-灬从此以后灬-博客园灬从此以后灬博客园页新随笔联系订阅管理随笔-87文章-0评论-1斯林(Stirling)公式求大数阶乘的位数我们知道整数n的位数的计算方法为:我们可以通过数学公式进行优化:   (即Stirling公式)N!=8^resn!   =lg

1+lg2+lg3+lg4+lg5+....................+lg

N;但是当N很大的时候,&t);while(t--){lln;scanf("%lld",两江新区办执照流程

)log

8(n!log10(n)+1n!&n);if(n==0||n==1){puts("1");continue;}doubleres=(log(2*pi*n)/2.0+n*log(n/e))/log(8)+1;printf("%lld\n",江北区注册分公司   =e^mres=log8(n!)/loge(8)res=m/loge(8)换底公式m=loge(2*pi*n)/2+n*loge(n/e)AC代码#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>#include<iostream>#include<sstream>#include<algorithm>#include<string>#include<queue>#include<map>#include<vector>usingnamespacestd;constintmaxn=1e6+10;constintinf=0x3f3f3f3f;constdoublee=exp(1);constdoublepi=acos(-1.0);constdoubleepx=1e-10;typedeflonglongll;intmain(){llt;scanf("%lld",潼南代办进出口公司(ll)res);}return0;}posted@2018-02-0418:10灬从此以后灬阅读(...)评论(...)编辑收刷新评论刷新页面返回顶部公告Copyright©2018灬从此以后灬斯特林 或者可以估算某数的阶乘是另一个数的倍数。例题https://www.nowcoder.net/acm/contest/75/A题意求解n的阶乘八进制下的位数n!

=(lg(2*pi)+lgN)/2+N*(lgN-lge);斯林公式可以用来估算某数的大小结合lg可以估算某数的位数,

)m=loge(n!   )+1lgN!的位数为m=log10(n!=sqrt(2*pi*N)*(N/e)^N;(pi=3.=acos(-1.0),=10^m故n!e=exp(1))lgN!
">