码迷,mamicode.com
首页 > 其他好文 > 详细

阶乘有关模板

时间:2018-10-20 16:14:32      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:就是   log   模板   2.7   style   斯特林公式   return   公式   class   

1.求阶乘后的位数

原理

斯特林公式 ——Stirling公式(取N阶乘近似值)

于是求n!的位数就是求log10((2 * PI*n) ^ 1 / 2 * (n / e) ^ n) + 1

即 1 / 2 * log10(2 * PI*n) + n * log10(n / e) + 1

代码

const double PI = 3.141592654;
const double E = 2.71828182846;
int fact_len(int n)
{
    int s = 1;
    if (n > 3)
        s = log10(2 * PI*n) / 2 + n * log10(n / E) + 1;
    return s;
}

 

阶乘有关模板

标签:就是   log   模板   2.7   style   斯特林公式   return   公式   class   

原文地址:https://www.cnblogs.com/myWYN/p/9821623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!