69 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?首行输入n,表示有多少组测试数据(n<10)随后n行每行输入一组测试数据 N( 0 < N < 1000000 )

#include<stdio.h>  
#include<math.h>  
int main() 

 int i,j,k; 
 double sum; 
 int  n,N; 
 scanf("%d",&n); 
 while(n--) 
 { 
  sum=0; 
  scanf("%d",&N); 
  for(j=1;j<=N;j++) 
  sum+=log10(j); 
  k=(int)sum+1; 
     printf("%d\n",k); 
 } 
 return 0; 
}         

posted @ 2013-06-10 12:57  融雪残阳  阅读(2071)  评论(0编辑  收藏  举报