1

数百桁の整数を扱う必要があると考えてください。それらを「超長」整数と呼びましょう。明らかに、int や long int などのデータ型を使用して格納することはできません。「超長」整数は、ユーザーからの入力として 1 桁ずつ読み取ることができ、超長整数の各桁が配列内の 1 つの場所を占める配列に格納できます。この問題には、ユーザーからの入力として 2 つの正の「超長」整数を 1 桁ずつ取得することが含まれます。各数字は、ユーザーが文字として入力します。正の「超長」整数の終わりは、$ 記号の入力と格納によって示されます。

ここで、正の超長整数が占める最大桁数は 25 桁であると想定できます。

これらの正の超長整数に対して次の操作を実行できる C プログラムを作成します。

  1. 2 つの正の超長整数を加算します
  2. 1 つの正の超長整数から別の正の超長整数を引きます
  3. 2 つの正の超長整数の乗算
  4. 1 つの正の超長整数を別の正の超長整数で割ります
  5. 1 つの正の超長整数を別の正の超長整数で除算した剰余を提供する
  6. 2 つの正の超長整数の最大値を見つける

加算、減算、および 2 つの正の超長整数の最大値を実行するための関数を作成しました。乗算と除算を実行して、商と剰余を別々に取得することができません。

4

2 に答える 2

1

独自の関数を作成できない場合は、GMP ライブラリを使用するだけで済みます。

http://gmplib.org/

それを使用すると、ソートされます....

于 2013-03-26T05:37:41.423 に答える
0

すべての式の結果は、long int や long double の範囲を超える非常に大きな数値になります。配列を使用して、このような大きな数値を c に格納する必要があります。配列に格納している通常の変数にデータを格納する代わりに、2 つの数値を乗算するために使用しているのと同じロジックを使用する必要があります。

以下は参照リンクです。

http://www.cquestions.com/2010/08/multiplication-of-large-numbers-in-c.html

http://www.cquestions.com/2010/08/division-of-large-numbers-in-c.html

http://www.thinbasic.com/community/showthread.php?11206-C-multiplying-big-integers

http://cboard.cprogramming.com/c-programming/114679-multiplying-huge-numbers-integer-arrays.html

非常に大きな整数の乗算と加算

于 2013-03-26T06:55:29.700 に答える