HDU1018(求一个数阶乘的位数)
(1)、弄清题意,是求一个数阶乘的位数
(2)、利用数学公式(斯特林公式:lnN!=NlnN-N+0.5*ln(2*N*pi))求出位数即可
注意:输出的格式
做题感想:但是一开始做题的时候,对如何求一个数阶乘
的位数真的无从入手,上网搜一下方法,才可以入手.看来对于数学的思想的环
节,自己还是很薄弱,需要加强.
代码:
#include
#include
#definepi3.14159265
intnum,result;
voidJC()
{
doublet;
t=(num*log(num)-num+0.5*log(2*num*pi))/log(10);
result=(int)t+1;
printf("%dn",result);
}
intmain()
{
inti,n;
scanf("%d",&n);
for(i=0;i