【转】http://blog.csdn.net/wmbol/article/details/5454093
∵N! = N * (N - 1) * ( N - 2)····*2
∴log(N!) = log(N) + log(N - 1) + ······ + log2
所以阶乘的位数n = 1 + log(N) + log(N - 1) + ······ + log2;
/*
* 1526.cpp
*
* Created on: Apr 2, 2010
* Author: wyy
*/
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int T, num;
double ans;
cin >> T;
while(T--)
{
cin >> num;
ans = 0.0;
for(int i = 2; i != num + 1; ++i)
ans += log10(1.0 * i);
cout << (int)ans + 1 << endl;
}
}