hdu1018

时间:2022-08-13 08:32:14

可以用斯特林公式直接求出n!的结果。

  hdu1018

当n较小时公式已经很准确了,所以可以使用。但是,对于这种极限值为1的公式,只能用来估计位数,不能作为严格的等于的公式.类似的有素数分布定理  x/ln(x)~f(x),注:f(x)表示1 ,2, 3,...,x中素数的个数.

hdu1018

# include <cstdio>
# include <cmath>
#include<iostream>
using namespace std;
int
main()
{

int
T, n; cin>>T;
while
(T--)
{

cin>>n; cout<<(int)(n*log10(n/exp(1.0))+0.5*log10(2.0*n*4.0*atan(1.0)))+<<endl;// 阶乘的位数 (阶乘太大,取对数处理。)
}

return
;
}

相关文章