SQUARE_ROOT(N)
以下の最大数を見つけなければならず、N
を割ります。
最も直接的な解決策は、O(をsquare_root(N))であり、数のである任意O(logN個)溶液を10^18の範囲で大きな変化させることができます。分割する高さの数字を見つけるN
0
A
答えて
-1
Nが複合体である場合には、
N = MaximumDivisor(N) * MinimumDivisor(N).
1
N
がp
とq
が素数p*q
に等しい場合、あなたはこれがあなたの質問に答えるために最初の素数を見つける必要があります。だからこの問題は一般的にInteger factorizationより簡単ではありません。また、O(logN)の複雑さを持つ既知のアルゴリズムはありません。
なしアルゴリズムはいくつかの定数kのタイムO中のBビット数(B^k)を考慮することができること、すなわち、多項式時間ですべての整数を因数分解することができ、その公開されていません。このようなアルゴリズムの存在または非存在は証明されていないが、一般的にそれらは存在しないと疑われ、そのため問題はクラスPにはない。この問題は明らかにNPクラスにあるが、 NP完全ではない。それは一般的にNP完全ではないと思われる。
factorization algorithmsの中で有用なものが見つかるかもしれません。
関連する問題
- 1. 最高の数字を見つける
- 2. 数字nをn-1 + n-2の和に分割する+
- 3. 数字のn番目の数字を見つける
- 4. Python、数字のn番目の根を見つける
- 5. ファイル内の上位n個の数字を見つける
- 6. 最大9つの数字を見つける - 高速
- 7. ハスケルで二分木の高さを見つける
- 8. リスト内の最も高い数字のインデックスを見つける
- 9. 配列の中で次に高い数字を見つける
- 10. 長さnの複数の部分文字列を置換する、JavaScriptの文字列から分割する
- 11. n -aryツリー内で最高値を見つける
- 12. 2つの数字の間の素数を見つける高速アルゴリズム
- 13. 長さの配列の中で最高の数字を見つける5
- 14. 色の分割された相補性を見つける数式?
- 15. GPSが高さを見つける
- 16. aまたはbで割り切れるN番目の数字を見つける
- 17. O(N)Complexityで3で割り切れる最長の部分配列を見つけてください。
- 18. 数値のn番目の根を見つける関数
- 19. 複数の分割ループで最大値を見つけよう
- 20. 数字を '。'から分けて分割する方法は?
- 21. 次の反復の複雑さを見つける:T(n)= T(n/2)+ log(n)
- 22. 文字列をリストに変換するには、文字列 '\ n \ n \ n \ n \ n'で分割しますか?
- 23. 2つのオブジェクトの高さの差を見つけ、別のオブジェクトに高さを割り当てます。
- 24. 文字をn文字ごとに分割する
- 25. Pythonでリストのn番目の数字を見つける方法
- 26. ArrayList内の数字を見つける
- 27. 2つのmin(長さまたは値)のn要素に(文字列または整数)を分割する
- 28. 複数の数字を持つ数字から文字を分割する
- 29. 文字列をN文字の部分でリストに分割する
- 30. 複数の分割パラメータを持つjavaで文字列を分割する
どうすればMaximimDivisor(N)を見つけるのがポイントですか? –
最小の除数を見つける... –
@ChristoferOhlsson O(lg N)で最小の除数を見つけるには?論理的に、私が最小の除数を見つけることができるなら、私はO(1)で最大の除数を見つけることができるので、私には同じ質問です – shole