位数公式
需用到log10()函数,注意是double型。
设n!=10^m,设x>=m,x取最小值加1,即x=log10n!+1。
附上代码:
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,n,m;
double s;
scanf("%d",&n);
for(i=0;i<n;i++)
{
s=0.0;
scanf("%d",&m);
for(j=1;j<=m;j++)
{
s+=log10((double)j);
}
printf("%d\n",(int)s+1);
}
return 0;
}