不得不说,数据太水。。
利用一个数的位数=floor(log10(这个数))+1。
时间:968毫秒
#include "stdio.h"
#include "math.h"
int main(){
double count;
int i,j,n,t;
scanf("%d",&t);
for(i=1;i<=t;i++){
scanf("%d",&n);
count=0;
for(j=1;j<=n;j++){
count+=log10(j);
}
count=floor(count)+1;
printf("%d\n",(int)count);
}
return 0;
}