2016-03-07 85 views
0

我试图从给定的80个数字中记下所有可能的40个数字的组合。目前文件大小为28GB并且正在增长。我想要终止它,如果它没有接近完成的地方。 为此有一种计算文件大小的可能方法。 总的组合是80!/(40!* 40),这本身就是巨大的。所以每个事件都是带空格的40个数字。有没有一种方法可以计算记录此文件所需的文件大小?计算记录巨大组合事件的文件大小

回答

2

Sterling's approximation for factorials给出作为

equation

上的组合的数量的下限,其中a是80,b是40在这种情况下。

这简化进一步,并且因为是两次B检查出来作为

equation

其可以作为一个小超过9×10^22来评估。如果每个组合只需要一个字节进行存储(如果您将它们有效地存储为数字,则每个组合需要大约17个字节,或者每个组合需要大约40个字节),但是,如果每个组合只需要一个字节来存储那么这仍然需要大约100 ZB。为了让您知道这是多少,Google预计总存储容量大约为1EB,ZTBB为1000。

+1

使用本机处理多精度整数的python,我们可以很容易地计算出它。确切的数值是'107507208733336176461620',离'1.075e23'或'10.75x10^22'不远,你的符号 –

+0

好点。在开始逼近之前,我可能应该想到这个数字有多大! – gandaliter