斯特林公式的应用num=floor(log10(N)+1);
斯特林公式如下:

带入公式即可。(其中floor可以用(int)代替,但不能用printf输出%.0f的浮点数,因为后者会自动四舍五入)
#include<stdio.h>
#include<math.h>
#define PI 3.141592653589793239
#define ee 2.7182818284590452354
int ans(int n){
return (int)((n*log10(n/ee)+log10(sqrt(2*n*PI))))+1;
}
int main(){
int n,i,k;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&k);
printf("%d\n",ans(k));
}
return 0;
}
本文介绍了一个基于斯特林公式的计算方法,该方法用于估算大数的阶乘对数长度。通过使用C语言实现,程序接收整数输入并返回对应阶乘的位数估算。文章包含完整的源代码示例。
1024

被折叠的 条评论
为什么被折叠?



