hdu-1018

来源:互联网 发布:网络连不上说是防火墙 编辑:程序博客网 时间:2024/06/05 10:54

斯特林数 log10(n!)=1.0/2*log10(2*pi*n)+n*log10(n/e)、

特殊情况:log10(n!)=log10(1)+log10(2)+log10(3)+...+log10(n)

#include<iostream>#include<cmath>using namespace std;#define e 2.71828182int main(){int n;double tmp;int T;cin>>T;while(T--){cin>>n;tmp=(double)n*log10(n*1.0/e)+0.5*log10(2.0*n*3.1415926);printf("%d\n",(int)tmp+1);}return 0;}