怎么算出阶乘的位数,一个数的阶乘计算公式

首页 > 上门服务 > 作者:YD1662023-12-04 17:30:44

#include <cstdio>

#include <cmath>

#define pi 3.14159265

#define e 2.718281828

int main()

{

int n,num;//所求为n!的位数,num为位数

scanf("%d",&n);

if(n==0)

{

num=1;

}

else

{

num=(int)((0.5*log(2*pi*n) n*log(n)-n)/log(10)) 1;

}

printf("%d",num);

}

使用斯特林公式,n!约等于sqrt(2*pi*n)*(n/e)^n,如不理解需更多信息或者有使用高精度(long long不够)的需求继续追问

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.