-1

2 つの非常に大きな数値 (int に収まらないため、文字列) を 2 つのリンクされたリストに格納し、それらを追加して、結果 (再び文字列) を表示する必要があります。

数値をリストに直接保存できます。

312312は2->1->3->2->1->3として格納できます(実際の数は非常に長くなります)

111119は9->1->1->1->1->1として格納できます

次に、それらを追加できます

11->2->4->3->2->4

通常、私は11*10^0 + 2*10^1 +...+ 4*10^5を実行して423431を取得できますが、これらすべての演算 (乗算、加算、累乗) は再び整数演算になり、実際の数値は非常に大きくなる、 int または long は操作をサポートしません。最終結果は文字列でなければなりません。

したがって、int を使用せずに 11->2->4->3->2->4 を 423431 に変換する方法が必要です。また、BigInteger を使用できません。誰でも私を助けることができますか?

4

2 に答える 2

1

紙に手書きする方法を考えてみてください。数字のペアの合計が 9 より大きい場合は、1 の桁上げ数字を書き留めて、次の数字のペアの合計に追加します。

コンピューター プログラムでは、そのためにローカル変数を使用できます。最初と最後の数字の数字と前の数字のキャリーを追加します。合計がより大きい場合は..キャリーを 1 に設定し、そうでない場合はキャリーを 0 に設定し、次のペアに進みます。 ...

于 2013-09-27T06:44:57.947 に答える