首页 > 编程知识 正文

求一个正整数n的位数,三位数的平方公式

时间:2023-05-04 12:01:16 阅读:186551 作者:2207

Stirling 公式

也就是说:

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

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

所以n! 的位数如下。

代码:

# include iostream # include cstdio # include cstring # include cmath # include algorithm # define pi 3.1415926535898 # definee 2.71828 typedef long ll; int main ()//n! 的位数log(n! (1int n; scanf('%d ',n ); LL ans; ans=log10(2.0*pi*n )/2.0n*log10 ) n/e ) 1; printf(%lld(n ),ans ); 返回0; () ) ) ) )。

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