直接上代码,更多请戳这里
#include<iostream>
#include<math.h>
#define Pi 3.141582626535
#define e 2.718281828459
using namespace std;
int main()
{
int n,m;
cin>>n;
while(n--)
{
cin>>m;
int ans;
ans=int(m*log10(m/e)+log10(2*Pi*m)/2)+1;
cout<<ans<<endl;
}
return 0;
}
下面是一个超时的代码:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,m;
cin>>n;
while(n--)
{
cin>>m;
double ans=1;
for(int i=1;i<=m;++i) ans+=log10(i);
cout<<int(ans)<<endl;
}
return 0;
}