POJ1423

2016-08-31  本文已影响0人  vanadia

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;
}
上一篇下一篇

猜你喜欢

热点阅读