8
A
答えて
12
ユークリッドアルゴリズム(計算はgcd
)は非常に高速です。 2つの数字が[1, n]
からランダムに一様に描画されている場合、gcd
を計算する平均ステップ数はO(log n)
です。各ステップに必要な平均計算時間は、桁数で2次です。
どちらかといえばより良い(つまり、各ステップは桁数が準十字である)代替方法がありますが、非常に大きな整数に対してのみ有効です。例えば、On Schönhage's algorithm and subquadratic integer gcd computationを参照されたい。
7
除算/剰余がシフトよりも大幅に高価なマシンで実行している場合は、binary GCDと考えてください。
関連する問題
- 1. 2つのTビットマップが同じかどうかを確認する最速の方法は何ですか?
- 2. 与えられた製品に2つの数字があるかどうかを確認する
- 3. jQueryオブジェクトにいくつかのDOM要素があるかどうかを確認する最速の方法
- 4. イメージがPHPで有効かどうかを確認する最善の最速の方法は何ですか?
- 5. 2つの辞書が互いに素であるかどうかを確認する
- 6. オブジェクトがnullであるかどうかを確認する最善の方法と最も速い方法
- 7. mysqlで2つの値が2つの列にあるかどうかを確認する方法
- 8. 2つの条件が真であるかどうかを確認する最速の方法は何ですか?
- 9. 関数に与えられたパラメータがリストであるかどうかを確認するにはどうすればよいですか?
- 10. 最後の要素であるかどうかを確認する方法
- 11. 与えられたUUIDを持つドライブがマウントされているかどうかをbashで確認する
- 12. 私に与えられたオブジェクトがJavaのint []であるかどうかを確認するにはどうすればよいですか?
- 13. 文字列がGroovyのIPであるかどうかを確認する方法はありますか?与えられた文字列から
- 14. オブジェクトのプロトタイプにメソッドが与えられているかどうかを確認する正しい方法
- 15. 与えられたシグネチャを持つ関数がC++に存在するかどうかの確認
- 16. 同じSQLテーブル内の2つのレコードが異なるかどうかを確認する最速/最も簡単な方法は何ですか?
- 17. レコードが存在するかどうかを確認する最速の方法
- 18. jQuery - 2つの要素が同じかどうかを確認する方法?
- 19. ウェブサイト/ URLが存在するかどうかを確認する最も迅速かつ正確な方法は何ですか?CurlまたはPHP?
- 20. データベースからダンプされたxmlファイルが最新であるかどうかを確認する方法は?
- 21. 与えられた数字がフィボナッチ数であるかどうかをチェックする方法は?
- 22. このコードで何が問題になっていますか? (与えられた数字が素数であるかどうかをチェックする)
- 23. 数字が特定の範囲にあるかどうかを確認する最も速い方法は何ですか?
- 24. 2つのイメージファイルが同じであるかどうかを確認する方法はありますか?
- 25. 与えられた配列が2つの配列の間にあるかどうかを確認する方法
- 26. 値が数値かどうかを確認する方法
- 27. 2つのセットが互いに素であるかどうかをチェックする方法?
- 28. req.paramsが数値かどうかを確認する方法は?
- 29. 数値が素数であるかどうかを確認する方法を使用して
- 30. gccの2つの異なるバージョンが互換性があるかどうかを確認するには?
算術演算のコストを考慮せずに算術アルゴリズムの複雑さを測定するのは少し粗いことをお伝えしたいと思います。 –
フィボナッチシーケンスで2つの数字が連続している場合、最悪のケースのステップ数はO(log n)です。 –
@Pavel Shved:私はコストを考慮に入れました。 cf. 「各ステップに必要な平均計算時間は桁数で二次的です」という文です。 – jason