2

したがって、2 つの数値を表す 2 つの arrayLists があります。これは、BigInt を使用する必要がないためです。たとえば

ArrayList<Integer> LargeInt = [2,3,6,4] would really equal 2,364
ArrayList<Integer> LargeInt2 = [8,7,9,4,6] would be 87,946

私の目標は、2 つの数値を乗算して文字列の答えを作る方法を見つけることです。2 つの数値の乗算は、文字列に入れる前に別の配列に入れる必要があることを知っているので、大きな数値でクラッシュすることはありません。また、それが別の for ループに入れられることも知っています。しかし、2 つの数値を乗算するコードを作成するのは難しいと感じています。乗算される 2 つの配列は、任意の数にすることができます。

4

1 に答える 1

5

これが宿題であると仮定して、何をする必要があるかをコードなしで説明します:

  • をラップするクラスを定義しますArrayList<Integer>。あなたがそれを呼ぶとしましょうArrayInt
  • 2 つの を加算し、それらの合計に等しいArrayInt3 分の 1 を返す演算を定義します。ArrayInt余分な桁へのキャリーの可能性を考慮して、桁ごとに実行できるため、それに応じて結果のサイズを調整する必要があります。
  • 配列リストにゼロを追加して、数値を 10 の累乗で乗算する演算を定義します。ArrayInt繰り返しますが、操作は現在のものを変更するのではなく、新しい を返す必要があります
  • 数値を 1 桁で乗算する演算を定義します。乗算、または加算を使用する単純なループを使用できます。ループは 9 回以上実行されないため、それほど悪くはありません。
  • あなたが持っている 3 つの演算 (足し算、1 桁の掛け算、10 の累乗の掛け算) を組み合わせて、小学校で習った簡単な掛け算のアルゴリズムを作ります。
于 2012-09-14T02:44:26.823 に答える