http://acm.hdu.edu.cn/showproblem.php?pid=1018
题目大意 : 求一个数的阶乘的位数
公式log10(n!)=log10(1)+log10(2)+log10(3)+log10(4)...+log10(n)
有这公式 一切都看起来简单了一大把
#include <iostream>
#include <queue>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <stack>
#include <cmath>
#include <algorithm>
using namespace std;
#define N 1e7+7
#define memset(a,b) memset(a,b,sizeof(a)) int main()
{
int T;
scanf("%d",&T);
while(T--)
{
double sum=;
int n;
scanf("%d",&n);
for(int i=;i<=n;i++)
{
sum+=log10(i);
}
printf("%d\n",(int)(sum+));
}
return ;
}