isPrime関数を記述してJavaでブール値を返すとき、forループでMath.sqrt(number)を使用する多くの例を見てきました。なぜ誰かがこの機能がforループで何をしているのか説明できますか?参考のために例を付けました。ありがとう!JavaでisPrime関数を記述してMath.sqrtを使用する
0
A
答えて
0
数字nが素数であるかどうかをどのように知っていますか?最初の戦略は、2から(n-1)までのすべての数をテストすることです。すべての値iについて、nがiで割り切れるかどうかをチェックする。あなたがこのような私を見つけたら、nは素数ではありません。
本当にすべての値をテストする必要がありますか?いいえ、nの平方根に達するとすぐに、同じ "値"のペアをテストします。つまり、実行するテストの数を制限し、パフォーマンスを向上させるためにsqrtがあります。
0
数が素数でない場合はF1、F2が>数の平方根であれば、それはF1とF2
二つの要因に分解することができ、F1 * F2は次のようになります>数。したがって、これらの要因の少なくとも1つは、数値のsqrtに対して< =でなければなりません。数値が実際に素数であるかどうかを調べるには、< =をsqrtにテストするだけで済みます。
関連する問題
- 1. ラムダを使用して関数を記述して適用する
- 2. Visual Studioでカスタムプロローグとエピローグコードを使用してネイキッド関数を記述する
- 3. 文字列を使用して関数のパラメータを記述する
- 4. オブジェクトのプロパティにJSDocを使用して関数のパラメータを記述する
- 5. numpyを使用した関数式の記述
- 6. Monkeyrunnerを使用するJavaコードを記述できますか?
- 7. 関数を返す関数型を記述できますか?
- 8. 異なるディレクトリ間で自己記述関数を使用する
- 9. C#を使用してWindowsサービス(C#で記述)を使用
- 10. ジェネリックキャスト関数の記述Scala
- 11. マゼンタでカスタム変数を使用してメタ記述を取得する方法
- 12. 不正なファイル記述子javax.xmlを使用するJavaのIOException
- 13. とValueError:数学・ドメイン・エラーmath.sqrtを使用して()
- 14. TypeScriptの引数としてクラスを取る関数のパラメータを記述する
- 15. odoo:古いセーブデータ関数を記述
- 16. Cでの再帰関数の記述
- 17. 文字列パラメータを使用してクラスプロパティを記述する
- 18. デザインパターンを使用してシステム全体を記述する
- 19. FileChannelを使用してInputStreamを記述する
- 20. varを使用してクラスのvarを記述する
- 21. VBScriptを使用してWin32_Serviceセキュリティ記述子を取得する
- 22. AWS CLIで記述ストリームのページサイズパラメータを使用しています
- 23. Javaポート記述子
- 24. のpython再帰関数を記述しようとすると
- 25. 述語関数を使用してJavaでリストをフィルタリングするにはどうすればよいですか?
- 26. SQL Serverストアドプロシージャを記述するJavaプログラム
- 27. 構造体と関数をC言語で記述するプログラム
- 28. Groupby Pandas(Python 3.5.1)で関数を記述する
- 29. C#コードでJavaScript関数を記述する方法は?
- 30. パンダのチャンクで関数を記述する方法は?
ループは、素数の候補に分けることのできるすべての可能な数をチェックしています。除数が見つかった場合は、その数を素数にすることはできません。 –
sqrt(n)以外のすべてのケースでは、要因の1つが他方よりも大きくなります。より具体的には、1つの係数はsqrt(n)より大きく、他方はより小さい(そうでなければ、その積はnではない)。したがって、あなたがsqrt(n)まで反復した場合、可能なすべてのペアの要素の1つをチェックしたことになります。 –
ループの1回の繰り返しごとに同じ平方根を再計算すると、パフォーマンスにも優れています。 –