题意:计算N!的位数,如n为6时 n!为720 位数就是3.
做法:直接暴力。log10(n!)=log10(n)+log10(n-1)+....+log10(1);
这题正好卡在时间线上,导致一样的代码交了2次才AC
#include<stdio.h>
#include<cmath>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
double sum=0;
for(int i=1;i<=n;i++)
{
sum+=log10(i);
}
printf("%d\n",int(sum)+1);
}
}