用不等大小的输入操作数实现Karatsuba大数乘法的最有效方法是什么,其大小不是 2 的幂,甚至可能不是偶数?填充操作数意味着额外的内存,我想尝试使其内存高效。
我在非偶数大小的 Karatsuba 中注意到的一件事是,如果我们尝试将数字分成尽可能接近偶数的“两半”,一半将有 m+1 个元素,而另一半将有 m 个元素,其中 m = floor(n/2),n 是拆分数中的元素数。如果两个数字的奇数大小相同,那么我们需要计算大小为 m+1 的两个数字的乘积,需要 n+1 存储,而不是 n 为偶数时的 n。所以我猜对奇数尺寸的 Karatsuba 可能比偶数尺寸需要更多的内存吗?