非常简单的一道题目,可以用多种方法做出:
法一:
int jiecheng(int n)
{
int i=0,m;
for(i;i<n;i++)
{
cin>>m;
long long int t=1;
double v=1;
for(int s=1;s<=m;s++)
{
v+=log10((double) s);
}
cout<<(int)v<<endl;
}
return 0;
}
法二:
#include <cstdio>
#include <cmath>
using namespace std;
const double pi = 3.1415926;
int main()
{
int t, n;
scanf("%d", &t);
for(int i=0; i<t; ++i)
{
scanf("%d", &n);
int len = ceil((n*log((double)n)-n+log(2.0*(double)n*pi)/2.0)/log(10.0));
if(!len)
len++;
printf("%d\n", len);
}
return 0;
}