数学题,还是使用log避免大数,但是不要忘记需要+1,因为0也是1位,log(100)= 2,但却是3位。
#include <stdio.h>
#include <math.h> int main() {
int case_n, n;
int i;
double sum; scanf("%d", &case_n); while (case_n--) {
scanf("%d", &n);
sum = 1.0f;
for (i=; i<=n; ++i)
sum += log10(i);
printf("%d\n", (int)sum);
} return ;
}