1

我正在训练我的 C++ 并且我正在尝试编写一个库,该库将能够使用 XOR 链表表示以下数字:

999999999 * ( [i=0]Σ[999999999] 1000000000 ^ i )

例如,如果我的号码是711381450277869054011,它将表示如下:

711 * 1000000000^ 2 + 381450277 * 1000000000^ 1 + 869054011 * 1000000000^ 0

或者简单地说:

711 * X^ 2 + 381450277 * X^ 1 + 869054011 * X^ 0

在此处输入图像描述

我为我的班级重载了*运算符,但我认为我使用的算法很笨拙。

我打算去Karatsuba algorithm,但由于它是递归的,它会导致堆栈溢出。

然后我检查了Too-3 算法。我喜欢它,但我无法应用它,因为我还没有编写负数。

我的问题是:您建议使用哪种算法最适合多项式乘法?有什么好的算法我需要看吗?

4

1 回答 1

3

您可以使用快速傅里叶变换来执行它。它也存在非递归实现。

于 2012-03-15T20:00:04.397 回答