首页 > 编程知识 正文

3亿后面有多少个0,一千亿后面有多少个零

时间:2023-05-06 14:24:47 阅读:211866 作者:771

 

阶乘是美丽的小土豆(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。

一个正整数的阶乘factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,美丽的小土豆引进这个表示法。

简化而来N的阶乘尾数有多少个0,如果简单的用暴力算法 直接递归乘然后截取后面的尾数的0,N小的时候是可以的,如果N很大的时候显然是不现实的。

末尾0的个数就是指这个数总共有几个10因子,而10又能表示成2和5的乘积。假设m=n!,那么m中2的因子个数肯定大于5的因子个数,所以m中5的因子个数即是所要求结果。

     令f(x)表示正整数x末尾所含有的“0”的个数,则有:
      当0 < n < 5时,f(n!) = 0;
      当n >= 5时,f(n!) = k + f(k!), 其中 k = n / 5(取整)。

function  getZeroNums (ntotal) {    if(ntotal<5)         return 0;    else    {        ntotal =parseInt(ntotal/5);        return ntotal+getZeroNums(ntotal);    }}var nums=1000;console.log(getZeroNums(nums));

输出

249

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