求一个超级大数的位数比如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就可以表示。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |