karatsuba

    1

    1答えて

    最近、大きな数のKaratsuba乗算を実装しようとしていました。次に、実装をJava BigIntegerの実装と比較しようとしました。実装intを使用するので、[]、I 32は、Java整数のビット数であると考えて、カラツバ法によればresult = (p1 * 10^(2*half)) + ((p3 -p1 - p2) * 10^(half)) + (p2) を // result = p1

    2

    2答えて

    私はkaratsubaの乗算アルゴリズムを実装しました。私はこの方法で2桁の64桁の数字を掛けることができるように改善したいと思いますが、どうやってこれを行うのか分かりません。私は両方の数字に2のべき乗である数字の桁数が含まれていることを示唆しましたが、それは何も示唆していません。他のヒントを教えてください。数学ヒントやアルゴリズム改善のヒント。ここで #include <iostream> #

    1

    1答えて

    私は比較的プログラミングに新しいので、実行時間に関してこのアルゴリズムでは特に効率的であるとは思っていませんが、Karatsubaアルゴリズムを複製し、それは働く。は 私は多くの数字と小さな数字でそれを試してみました (Yのような= 40004009343254、 X = 40004001343234)が正常に動作し、(Y = 4000400934325423423のように、X = 4000400

    -1

    2答えて

    私は再帰呼び出しによってKaratsuba乗算を実装しようとしています。下のコードはうまくいくはずですが、私は答えとしてゼロを取得し続けます。何かご意見は? #define ll long long int ll kmul(ll p, ll q) { ll a,b,c,d,ans; ll n=0; while(p) { p=p/10;

    2

    1答えて

    私は2つのアルゴリズムとBig Oh効率を比較しようとしています。私は、あるアルゴリズムが他のアルゴリズムより効率的になるnの値を見つけようとしています。有益な例やリソースは大きな助けになります。

    1

    1答えて

    私はKaratsubaの乗算をしようとしています。桁数が16を超えたときはいつでも、例えば10 の力を掛ける場合、Pythonは端部にごみ値を満たす: 5789640666777942 * POW(10、16)= 57896406667779421501721023610880 OR 10023051467610476 * pow(10,8)= 1002305146761047575625728

    0

    1答えて

    Karatsubaアルゴリズムを使用して、64桁の2つの数値の積を計算し、1桁の数字だけが乗算に使用される方法?

    0

    1答えて

    私はカラツバ実装をやっているが、私はこのエラーを持っている: java.lang.NumberFormatException: Zero length BigInteger at java.math.BigInteger.<init>(BigInteger.java:296) at java.math.BigInteger.<init>(BigInteger.java:476

    1

    1答えて

    私は勉強してきましたKaratsuba's algorithm on Wikipedia 私はこのセクションで停止しました。なぜこのアルゴリズムにオーバーフローがありますか?この問題を解決するために彼が行った手順はわかりません。私の問題のスクリーンショット

    2

    1答えて

    プログラムを実行すると、セグメンテーションフォルトでクラッシュします。また、codeblocks IDEでコードをデバッグするときにも、それをデバッグすることができません。デバッグが始まる前からプログラムがクラッシュする。私はその問題を理解することができません。どんな助けもありがとう。ありがとう!! #include <iostream> #include <math.h> #include