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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容