Problem Description
  In many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data,encryption,etc. In this problem you are given a number,you have to determine the number of digits in the factorial of the number.
 
?
  Input 
  Input consists of several lines of integer numbers. The first line contains an integer n,which is the number of cases to be tested,followed by n lines,one integer 1 ≤ n ≤ 10
 7?on each line.
 
?
  Output 
  The output contains the number of digits in the factorial of the integers appearing in the input.
 
?
  Sample Input 
2 10 20
?
  Sample Output 
7 19
n的位数=log10(n)+1,m=n!,=log10^1+log10^2+...+log10^n
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    int n,m,i,ans;
    double t;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d",&m);
        t=0;
        for(i=2;i<=m;++i)
            t+=log10(i*1.0);
            ans=int(t)+1;
        cout<<ans<<endl;
    }
    return 0;
}