知识点:stirling(斯特林)公式
N的阶乘的位数等于:log10(N!) 取整后加1。
ceil(N)(包含与math.h)函数用于求上界,即不小于N的最小整数。
#include <cstdio>
#include <cmath>
#define PI 3.141592654
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int num,len;
scanf("%d",&num);
if(num==1) len=1;
else len=(int)ceil((num*log(num)-num+log(2*num*PI)/2)/log(10));
printf("%d\n",len);
}
return 0;
}