50桁(最大200)を超えるアルゴリズムで2つの数値を分割する

グレートロビ

何するための最良の方法である分割以上持っている二つの数字50桁が、200未満

私は数を表す構造を持っています

struct number{

     int digit[MAX_SIZE]; // MAX_SIZE = 5;
     bool negative; // Is it negative or positive number
};

このアルゴリズムを実装しようとするときに直面する問題は、数値'n'より多くの桁を持つ数値'm' (n> m)除算しようとしている場合、変数に格納できるということです。分割できますか?

例:1234567891234567891234567/12345678912345678

私の最初の推測は、繰り返される減算と関係がありますが、それは遅すぎませんか?

KlasLindbäck

手作業でそれを行う方法について考えてください。

最初に最上位桁を計算します。そして、数が十分に大きい場合は、一度に1桁を見つけて、減算を繰り返すことによってそれを行います。

あなたの場合:最初の数字は25桁で、2番目の数字は17桁です。

したがって、1E8に対応する数字から始めます。

これがCスタイルの擬似コードです。

struct number n1 = 1234567891234567891234567;
struct number n2 = 12345678912345678;
int start = floor(log10(n1) - log10(n2));   // Position of most significant digit in answer
struct number result = 0;
int i,j;
struct number remainder = n1;

// Start with the most significant digit
for i = start to 0 {
  // Find the highest digit that gives a remainder >= 0
  for j = 9 to 0 step -1 {
    if (remainder - j * n2 * pow(10, i) >= 0) {
        // We found the digit!
        result = result + j * pow(10, i);
        remainder = remainder - j * n2 * pow(10, i);
        break; // Move on to the next digit
    }
  }
}
// We now have the result and the remainder.

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

同じ桁数の2つの数値の積である最大の回文を見つける最速のアルゴリズム

分類Dev

最小の重みを最大化しながら、因子で数値を均等に分割するアルゴリズム

分類Dev

2つのn桁の数を乗算するための最速のアルゴリズムは何ですか?

分類Dev

数値のすべての桁を合計するアルゴリズム

分類Dev

FloodFillアルゴリズムがLeetcodeの最大再帰制限を超えているのはなぜですか?

分類Dev

2つの数値を乗算するためのアルゴリズム

分類Dev

数の最大の素数を見つけるアルゴリズム

分類Dev

N個の数の最大値を出力するアルゴリズム?

分類Dev

2つのテーブル列を分割して数値を新しいテーブルに出力するSQLliteアルゴリズム

分類Dev

500を超える因子を持つ最初の三角数を見つけるアルゴリズムが実行されて遅くなっています

分類Dev

ベル型の値のリストで最大値を見つけるための高速アルゴリズム

分類Dev

f(x)= a * min(b、x)?の形式の関数の最大値を見つけるためのアルゴリズム

分類Dev

数値が他の2つの数値の乗算の合計で構成されているかどうかを判断するアルゴリズム

分類Dev

2つの数値だけをソートするCのQuickSortアルゴリズム

分類Dev

アルゴリズム-n * n2D行列でk * kセットのすべての最大値を見つける

分類Dev

固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

分類Dev

固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

分類Dev

最大値アルゴリズムを最適化する方法

分類Dev

非常に大きな数の整数平方根を1桁ずつ見つけるための効率的なアルゴリズムは何ですか?

分類Dev

DFS アルゴリズムを使用して、マトリックス内の隣接する数値の最大領域を見つける

分類Dev

数値までの文字列を解析するアルゴリズム

分類Dev

`n`を3つの平方の合計に分割する数(高速アルゴリズム)

分類Dev

C#で2つの画像を比較するアルゴリズム

分類Dev

分割統治アルゴリズムで通常2つの部分に分割するのはなぜですか?

分類Dev

最大合計値まで適合するように繰り返し可能な値のセットを見つけるためのアルゴリズム

分類Dev

2つのリストの違いを比較します。LINQを置き換える.Except()アルゴリズム

分類Dev

O(n)アルゴリズムは、計算時間の点でO(n ^ 2)を超えることができますか?

分類Dev

制限なしでunsignedintの最大値を計算するための最良のアルゴリズム。h

分類Dev

'for'ループを置き換えて最小/最大をSTLmimaxアルゴリズムで見つける方法

Related 関連記事

  1. 1

    同じ桁数の2つの数値の積である最大の回文を見つける最速のアルゴリズム

  2. 2

    最小の重みを最大化しながら、因子で数値を均等に分割するアルゴリズム

  3. 3

    2つのn桁の数を乗算するための最速のアルゴリズムは何ですか?

  4. 4

    数値のすべての桁を合計するアルゴリズム

  5. 5

    FloodFillアルゴリズムがLeetcodeの最大再帰制限を超えているのはなぜですか?

  6. 6

    2つの数値を乗算するためのアルゴリズム

  7. 7

    数の最大の素数を見つけるアルゴリズム

  8. 8

    N個の数の最大値を出力するアルゴリズム?

  9. 9

    2つのテーブル列を分割して数値を新しいテーブルに出力するSQLliteアルゴリズム

  10. 10

    500を超える因子を持つ最初の三角数を見つけるアルゴリズムが実行されて遅くなっています

  11. 11

    ベル型の値のリストで最大値を見つけるための高速アルゴリズム

  12. 12

    f(x)= a * min(b、x)?の形式の関数の最大値を見つけるためのアルゴリズム

  13. 13

    数値が他の2つの数値の乗算の合計で構成されているかどうかを判断するアルゴリズム

  14. 14

    2つの数値だけをソートするCのQuickSortアルゴリズム

  15. 15

    アルゴリズム-n * n2D行列でk * kセットのすべての最大値を見つける

  16. 16

    固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

  17. 17

    固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

  18. 18

    最大値アルゴリズムを最適化する方法

  19. 19

    非常に大きな数の整数平方根を1桁ずつ見つけるための効率的なアルゴリズムは何ですか?

  20. 20

    DFS アルゴリズムを使用して、マトリックス内の隣接する数値の最大領域を見つける

  21. 21

    数値までの文字列を解析するアルゴリズム

  22. 22

    `n`を3つの平方の合計に分割する数(高速アルゴリズム)

  23. 23

    C#で2つの画像を比較するアルゴリズム

  24. 24

    分割統治アルゴリズムで通常2つの部分に分割するのはなぜですか?

  25. 25

    最大合計値まで適合するように繰り返し可能な値のセットを見つけるためのアルゴリズム

  26. 26

    2つのリストの違いを比較します。LINQを置き換える.Except()アルゴリズム

  27. 27

    O(n)アルゴリズムは、計算時間の点でO(n ^ 2)を超えることができますか?

  28. 28

    制限なしでunsignedintの最大値を計算するための最良のアルゴリズム。h

  29. 29

    'for'ループを置き換えて最小/最大をSTLmimaxアルゴリズムで見つける方法

ホットタグ

アーカイブ