您怎么处理荒谬的数字?

问题描述 投票:4回答:2

在某些情况下,程序员需要或希望找到数量巨大的数字。这些通常很大,以至于无视程序员的理解力。我说的是诸如the largest known prime number(带有12978189 digits)和最近计算的10 trillion digits of pi

您如何创建一个处理这些的程序?这远远超过了整数,长整数,双精度数,BigInteger,BigDecimal或任何类似类型的东西。这些用于发现这些数字的程序是如何创建的?如果没有适当的数据类型,它们甚至可能会消耗GB]的数据,怎么甚至将它们存储在内存中?

在某些情况下,程序员需要或希望找到数量巨大的数字。这些通常很大,以至于无视程序员的理解力。我说的是类似...

language-agnostic bigdata largenumber
2个回答
4
投票

要解决您的特定示例:


0
投票

(抽象)答案是使用机器的本机类型编写算法,以产生所需的结果。例如,当您手工在纸上添加两个非常大的整数时,所需的最大实际计算量仅为9 + 9 + 1(9加9加1加进位)。当然,您需要足够大的纸张才能将两个数字首先写下来,并将答案也写下来。因此,只要可以将两个数字和答案存储在计算机的硬盘中(纸上),就可以编写一种算法,使用仅需要最大19个值的变量来完成该算法。因此,即使char变量也能够处理此问题,更不用说int变量了。

© www.soinside.com 2019 - 2024. All rights reserved.