题意:求n!的位数
根据斯特林[striling]公式:log10(1)+log10(2)+log10(3)+.....+log10(n)取整后加1
代码:
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <queue>
#define lson l,mid,num<<1
#define rson mid+1,r,num<<1|1
using namespace std;
const int M=100005;
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
double sum=0;
for(int i=1; i<=n; i++)
sum+=log10(1.0*i);
printf("%d\n",(int)sum+1);
}
return 0;
}