前言:
而今兄弟们对“如何用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的阶乘