地址:
点击打开链接
我一开始想了想大数,因为题目就给了我一个错误的方向,后来一想,上亿级别的运算,肯定有问题,大数也会时间爆炸。
后来发现了这个规律 位数=log10(数)+1
emmmm
代码:
#include<iostream>
#include<math.h>
#include<cstdio>
using namespace std;
int main(){
int T ;
scanf("%d",&T);
while(T--)
{
int n ;
scanf("%d",&n);
double sum = 0 ;
for(double i = 1 ; i <=n ; i ++ )
{
sum+=log10(i);
}
printf("%d\n",int(sum+1));
}
}