Contents
  1. 1. 分析:
    1. 1.1. +1的原因:

分析:

其实就是求log10(n!)(整数部分) + 1 , log10(n!) = lg2 + lg3 + …+lgn

+1的原因:

例如:假设n!=10,则有两位数,而log10(10) = 1,同理100的时候是2 + 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;

int main()
{

int N;
while(scanf("%d", &N) != EOF){
double sum = 0.0;
for(int i = 2; i <= N; i++)
sum += log10(i);
printf("%d\n", (int)sum + 1);
}
return 0;
}
Contents
  1. 1. 分析:
    1. 1.1. +1的原因: