N的阶乘的位数

输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。

Input

输入N(1 <= N <= 10^6)

Output

输出N的阶乘的长度

Sample Input

6

Sample Output

3

斯特林公式:

详情请见:https://blog.csdn.net/liangzhaoyang1/article/details/51145807

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define e 2.718281828459
const double PI=3.1415926;
using namespace std;
int main(){
    int n;
    scanf("%d",&n);
    int len = 0.5*log10(2*n*PI)+n*log10(n/e)+1;
    printf("%d",len);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/lijunyan5/article/details/83185064