poj 1423
说实在的,没有公式,那我真就下不了手了。。。
《计算机程序设计艺术》给出的公式
n!=sqrt(2*pi*n)*((n/e)^n)*(1+1/(12*n)+1/(288*n*n)+O(1/n^3)); #include<stdio.h>
#include<math.h>
int main()
{
int t,i;
long n;
const double pi=3.141592653589;
const double e=2.718281828459;
while(scanf("%d",&t)!=EOF)
for(i=1;i<=t;i++)
{
scanf("%ld",&n);
printf("%lld\n",(long long)((double)log10(sqrt(2*pi*n))+n*log10(n/e))+1);
}
return 0;
}
/**************************************************************************
                 
原文来自博客园——Submarinex的博客: www.cnblogs.com/submarinex/               
 
*************************************************************************/