一个数n的位数为(int)log10(n)+1,所以n!的位数为(int)log10(n!)+1,又因为n!=1*2*3*……*n,故log10(n!)=log10(1)+log10(2)+……+log10(n);
#include
#include
using namespace std;
int main()
{
int n;
double sum;
while(cin>>n)
{ sum=0.0;
for(int i=1;i<=n;i++)//循环从1~n
sum+=log10(i);
cout<<(int)sum+1<