Bar*_*uch 6 algorithm biginteger
有没有办法合理地操作非常大的整数(数百万或数十亿的数字)?我需要做的操作是简单的+, - ,*和/或.
我正在寻找的算法是在合理的时间内完成上述操作(比如在现代PC上最多1小时).我不介意对数字使用任何类型的表示,但如果我需要为每个操作使用不同的表示,那么不同表示之间的转换也应该在合理的时间内完成.
当我用这个大小的数字时,我所看到的所有大型库都完全崩溃了.这是否表示没有这样的算法,或者只是这些库表示/实现没有针对这样的大小进行优化?
编辑 1小时的限制可能是不可能的.我给出了这个数字,因为一个十亿次迭代的简单循环应该少于这个,我希望有一个使用O(n)时间的算法.24小时的限制似乎更合理吗?
您可能希望看一下DecInt Python 类。
这是针对非常长的十进制整数进行优化的。(数字以一种表示形式存储,可以在 O(n) 时间内轻松转换为十进制数字)。
它可以执行您希望的操作,包括: