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