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;
} 
posted @ 2010-02-27 22:34  SubmarineX  阅读(332)  评论(0编辑  收藏  举报