如何在Python中优化计算大数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Python中优化计算大数相关的知识,希望对你有一定的参考价值。

在Python中计算大数字时,如2 ^(2 ^ 1000000),程序将耗尽内存。有没有办法将这个计算分解成更小的块,所以没有使用多少内存?

编辑:我只想显示这个数字的模块,所以我真的只想计算数字的最后10位数。

答案

如果你真的想要计算这个数字的所有数字,你不仅会耗尽内存,而且会耗尽生命周期,即使使用宇宙中的所有计算机也是如此。

另一答案

你要问的是执行一百万个2的方形,模10 ^ 10。

因此,实现产品模10 ^ 10(容易用64位算术)并迭代就足够了。

如果我是对的,7841627136

P= 2
for i in range(1000000):
    P= (P * P) % 10000000000
print P

以上是关于如何在Python中优化计算大数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中并行化以下代码片段?

OpenSSL测试-大数

从JVM的角度看JAVA代码--代码优化

OpenSSL测试-大数

如何优化C ++代码的以下片段 - 卷中的零交叉

如何计算大数的模?