私は 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
クラスの演算子をオーバーロードしました*
が、使用したアルゴリズムは扱いにくいと思います。
カラツバのアルゴリズムを使おうと思ったのですが、再帰的なのでスタックオーバーフローしてしまいます。
次に、 Toom-3 アルゴリズムを調べました。気に入ったのですが、まだ負の数をプログラムしていなかったので適用できませんでした。
私の質問は次のとおりです。あなたが提案するアルゴリズムは、多項式の乗算に最適ですか? 私が見る必要がある良いアルゴリズムはありますか?