题意,
数据数目T
接下来T行,每行一个数字n,输出n!的位数;
code:
一前做过,现在突然一看还有些懵,学的还不扎实啊…
数学题的做法
:
n!用科学计数法表示.x表示整数,y表示小数
这样只要暴力求出公式左边,然后取整加一输出就OK了
#include<cstdio>
#include<cmath>
int main()
{
int n,T;
double res=0;
while(scanf("%d",&T)!=EOF)
{
while(T--)
{
scanf("%d",&n);
res=0;
for(int i=1;i<=n;i++)
res+=log10(i*1.00);
// printf("%f\n",res);
printf("%d\n",int(res)+1);
}
}
return 0;
}