在字符串中实现数字乘法的最快方法(1000000位)

时间:2010-04-26 00:32:11

标签: algorithm

我想为2次数乘法编写最快的算法。 每个数字的最大数字大约为1000000,包含在字符串中。

有人想告诉这个问题吗?我正在寻找真正的速度解决方案。

2 个答案:

答案 0 :(得分:4)

您应该将字符串转换为数字的二进制表示形式。之后,我所知道的最快的乘法算法之一是Karatsuba's

答案 1 :(得分:0)

为了扩展Pablo的答案,假设每个数字是一个长度为1000008十进制数字的字符串。您可以将其转换为111112个9位十进制数,每个都存储在UInt32中。你的乘法算法。 (注意,您必须使用UInt64来保存两个UInt32部分相乘的结果,因此您可能需要64位计算机。)这应该比基数10提供9 ^ 2或9 ^ log2(3)加速因子,取决于算法。