好像是水题,一个数的位数可以等于ln(n)+1;那阶乘就ln(n!)+1即ln(n)+ln(n-1)+...ln(2)+1.
#include<stdio.h>
#include<math.h>
int main()
{
int n,t,i;
scanf("%d",&t);
while (t--)
{
double s=0;
scanf("%d",&n);
for (i=2;i<=n;i++) s+=log10(i);
printf("%d\n",(int)s+1);
}
}