#include<iostream>#include<algorithm>#include<cmath>//log()的头文件#include<string.h>#include<cstdio>#include<cstring>usingnamespace std;intmain(){int n;double sum =0;//sum是指以10为底的指数,一定要用double定义
cin>>n;for(int i=1; i<=n; i++){
sum +=log10(i);}int ans =int(sum);//取整后小数部分被舍去,所以要输出ans+1
cout<<ans+1<<endl;return0;}
* 斯特林公式求解
该方法了解就行
#include<iostream>#include<cmath>usingnamespace std;constdouble e =2.7182818284590452353602875;//const double PI = 3.1415926535897932384626434;越精确越好constdouble PI =acos(-1);//应该是最精确的定义了 intmain(){int n;
cin>>n;double a;
a =0.5*(log10(2* PI)+log10(n))+ n *(log10(n/e));int ans =int(a);
cout<<ans+1;return0;}