首页 > 编程知识 正文

阶乘的公式运算法则,组合数的阶乘公式

时间:2023-05-05 02:28:55 阅读:186477 作者:4838

题意)给定某个数(小于10^7),求出该数阶乘的位数。

思考:首先,要求一个数n的位数,可以用log10(n )进位得到(10的整数次方必须特别判断)。 因此,可以根据log10(1) log10 )2) log10 ) 3……log10 ) n )求出。 n很大,速度这么慢。 用stirling公式求n! 请参阅。

Stirling's approximation是用于获得n的阶乘近似值的公式。 n! 近似(2*pi*n ) )1/2* ) n/e ) n*e

gcc调用math库,还添加-lm选项

在以下注释中删除的行的输出用c提交给AC,用gcc进行wa……

# include stdio.h # include string.h # include math.h # define eexp (1) #definepiACOS(-1 ) int,n; int main () Freopen ) ) a.txt,) r,stdin ); scanf('%d ',t ); wile(t----) {double a,res; scanf('%d ',n ); if(n=3) printf(1(n ); 连续; }a=sqrt(2*pi*n ); RES=log10(a ) n* ) log10 ) 1.0*n )-log10(E ) e ); printf(%d(n ),(int ) res 1); //printf('%.0lf(n ),Ceil ) ) RES ); }return 0; () ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。