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

ドミトリー・パイティン

数年前、私は興味深いプログラミングの問題を発見しました。「1秒の制限時間で3つの正方形の合計に
分割する数を見つけること」。nn < 10^9

質問:与えられた制約でこの問題を解決する方法を知っている人はいますか?
私はそれが純粋に漸近的な時間計算量でO(n)のみよりも速くできると思いますか?いくつかの巧妙な数学のアプローチがありますか、それともコード最適化エンジニアリングの問題ですか?

https://oeis.org/A000164いくつかの情報を見つけましたがO(n)、FORMULAセクションに-algoがあり
n-k^2計算のために各数値のすべての除数を見つける必要があるためe(n-k^2)O(n)、MAPLEセクションに-algoがあります。

ギラッド・バーカン

はい。まず、数n - z^2を素数に因数分解し、素数をガウス共役に分解し、さまざまな式を見つけて展開および単純化してa + biを取得します。これを上げることができますa^2 + b^2奇数の力を持つn - z^2素数を含む候補除外することができ4k + 3ます。

これは、数値をガウス整数共役として表現することに基づいています。(a + bi)*(a - bi) = a^2 + b^2https://mathoverflow.net/questions/29644/enumerating-ways-to-decompose-an-integer-into-the-sum-of-two-squaresおよびhttps://stackoverflow.com/a/54839035/2034787を参照してください

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

3行の合計をExcel-vbaにするアルゴリズム

分類Dev

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

分類Dev

合計が値になる5つの要素の配列を検索するためのアルゴリズム

分類Dev

アルゴリズムが平方根(n)の時間計算量を持つことができるのはいつですか?

分類Dev

mを法とする固定nの最初のr二項係数の合計を見つけるアルゴリズム

分類Dev

nより小さい最大の平方数を見つけるアルゴリズム

分類Dev

アルゴリズム:文字列を3つの部分文字列に最適に分割する

分類Dev

3つの定数で可能性を計算するアルゴリズム?

分類Dev

すべての答えを得るために高速動的計画法アルゴリズムを実行する

分類Dev

2つの配列内の2つの要素の合計を検索するO(nlogn)のアルゴリズム

分類Dev

整数分割の特定の行列を計算するアルゴリズム

分類Dev

ポリゴンの格子点の数を計算するアルゴリズム

分類Dev

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

分類Dev

完全な履歴が与えられた場合にスポーツの試合に勝つチームのオッズを計算するアルゴリズム

分類Dev

時間計算量O(n ^ 2)のアルゴリズムが与えられた場合、入力nを3倍にするとどうなりますか?

分類Dev

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

分類Dev

リスト内の3つの異なる要素を見つけるためのO(log n)アルゴリズムを設計する

分類Dev

配列をサブ配列に分割するアルゴリズム。すべてのサブ配列の最大合計が可能な限り低くなります。

分類Dev

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

分類Dev

合計がN以下のサイズLのすべての可能な配列を見つけるアルゴリズム

分類Dev

3つのループを使用してアルゴリズムの複雑さを計算する

分類Dev

サイズnの配列inta []内の偶数エントリの合計を返す分割統治アルゴリズム

分類Dev

合計がN未満のXサブセットでスタックの値を分割するための最小数Nを見つけるアルゴリズム

分類Dev

「n」個のフィボナッチ数の合計を見つけるMATLABアルゴリズムが機能せず、理由がわかりません

分類Dev

いくつかのアイテムを含むリストのセットの合計一意の順列を計算するアルゴリズム

分類Dev

x ^ 2を計算するアルゴリズム、または数値の平方根を計算するアルゴリズムのどちらがより効率的ですか?

分類Dev

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

分類Dev

2つの入力に依存するアルゴリズムの時間計算量T(n)

分類Dev

アンカー分割にロイドのアルゴリズムを使用する

Related 関連記事

  1. 1

    3行の合計をExcel-vbaにするアルゴリズム

  2. 2

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

  3. 3

    合計が値になる5つの要素の配列を検索するためのアルゴリズム

  4. 4

    アルゴリズムが平方根(n)の時間計算量を持つことができるのはいつですか?

  5. 5

    mを法とする固定nの最初のr二項係数の合計を見つけるアルゴリズム

  6. 6

    nより小さい最大の平方数を見つけるアルゴリズム

  7. 7

    アルゴリズム:文字列を3つの部分文字列に最適に分割する

  8. 8

    3つの定数で可能性を計算するアルゴリズム?

  9. 9

    すべての答えを得るために高速動的計画法アルゴリズムを実行する

  10. 10

    2つの配列内の2つの要素の合計を検索するO(nlogn)のアルゴリズム

  11. 11

    整数分割の特定の行列を計算するアルゴリズム

  12. 12

    ポリゴンの格子点の数を計算するアルゴリズム

  13. 13

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

  14. 14

    完全な履歴が与えられた場合にスポーツの試合に勝つチームのオッズを計算するアルゴリズム

  15. 15

    時間計算量O(n ^ 2)のアルゴリズムが与えられた場合、入力nを3倍にするとどうなりますか?

  16. 16

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

  17. 17

    リスト内の3つの異なる要素を見つけるためのO(log n)アルゴリズムを設計する

  18. 18

    配列をサブ配列に分割するアルゴリズム。すべてのサブ配列の最大合計が可能な限り低くなります。

  19. 19

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

  20. 20

    合計がN以下のサイズLのすべての可能な配列を見つけるアルゴリズム

  21. 21

    3つのループを使用してアルゴリズムの複雑さを計算する

  22. 22

    サイズnの配列inta []内の偶数エントリの合計を返す分割統治アルゴリズム

  23. 23

    合計がN未満のXサブセットでスタックの値を分割するための最小数Nを見つけるアルゴリズム

  24. 24

    「n」個のフィボナッチ数の合計を見つけるMATLABアルゴリズムが機能せず、理由がわかりません

  25. 25

    いくつかのアイテムを含むリストのセットの合計一意の順列を計算するアルゴリズム

  26. 26

    x ^ 2を計算するアルゴリズム、または数値の平方根を計算するアルゴリズムのどちらがより効率的ですか?

  27. 27

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

  28. 28

    2つの入力に依存するアルゴリズムの時間計算量T(n)

  29. 29

    アンカー分割にロイドのアルゴリズムを使用する

ホットタグ

アーカイブ