龙空技术网

大数阶乘的位数 C语言怎么计算大数阶乘的结果

深圳风景2019 171

前言:

而今兄弟们对“如何用c语言表示n的阶乘”都比较注重,姐妹们都需要学习一些“如何用c语言表示n的阶乘”的相关文章。那么小编也在网络上搜集了一些有关“如何用c语言表示n的阶乘””的相关文章,希望小伙伴们能喜欢,大家一起来了解一下吧!

#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不够)的需求继续追问

标签: #如何用c语言表示n的阶乘