POJ1423

POJ1423

题意

求n!的位数

思路

不会做,上网查了之后,别人都是用斯特林公式。学习这个公式之后,就简单了了

#include <iostream>
#include <cmath>
using namespace std;
double const pi = acos(-1.0);
double const e = exp(1.0);

double stirlingDigitNum(int n){
    return log10(2*pi*n)/2.0 + n*log10(n/e);
}

int main(){
    int n,i;
    cin>>n;
    while(n--){

        cin>>i;
        double ans = stirlingDigitNum(i);
        int a = (int)(ans + 1);
        cout<<a<<endl;
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • POJ1423 题意 求n!的位数 思路 不会做,上网查了之后,别人都是用斯特林公式。学习这个公式之后,就简单了了
    vanadia阅读 1,475评论 0 0
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,353评论 0 33
  • 总喜欢阳光温暖的日子,走在土质松软的小路上。总希望有轻松的心情,一如这干净的阳光透过绿叶,呼吸一口清新的空气和悦人...
    汪大壮阅读 1,358评论 0 3
  • 五一去天津五一三天假去天津玩了两天, 游后有感.** 以下都是我的主观感受, 不代表别人也会有相同的感受.** 吃...
    自由发挥阅读 2,784评论 0 0
  • 在我的身边,有很多人在公共场合下不说话不表态,总是习惯性地保持沉默,我也和他们一样。这点让人很奇怪,人生了一张嘴可...
    Hat_Cloud阅读 4,108评论 0 2