因为是计算长度,则可以看成是10^x = 阶乘值,然后分别对两边求对数,答案就有了。
#include <iostream>
#include <cmath>
int main()
{
long long num;
double cnt = 0.0;
std::cin >> num;
for (long long i = 1; i != num + 1; ++i)
{
cnt += log10(i);
}
std::cout << (long long)(cnt + 1) << std::endl;
return 0;
}