加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

求一个超级大数的位数比如n!

发布时间:2020-12-14 02:17:30 所属栏目:大数据 来源:网络整理
导读:最近看到一个acm水题,说说求出一个n!的位数,当n比较大的时候。 当时我就是不知道该怎么整了。 最后翻阅了相关资料发现,还是有办法的,办法如下: 求一个m进制的数x的位数,位数=[logm(n)]+1 1、比如求十进制123的位数,那么就是 ? [lg(123)]+1 ?= 3 2、

最近看到一个acm水题,说说求出一个n!的位数,当n比较大的时候。


当时我就是不知道该怎么整了。


最后翻阅了相关资料发现,还是有办法的,办法如下:


求一个m进制的数x的位数,位数=[logm(n)]+1


1、比如求十进制123的位数,那么就是 ? [lg(123)]+1 ?= 3

2、再比如求n!的位数,n很大的时候不能用所有的数据结构表示的时候, ??


n! = 1*2*3……*n

lg(n!) = lg1+ lg2 + lg3 + ……+lgn

所以n!的位数就是 ?右边的加法求和取整再加一,这个int就可以表示。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读