素数を計算するための単純なアルゴリズム が存在します。たとえば、 whileループを使用して、すべての正の整数iについてc%i != 0を確認することができます。 i> 1およびi < cです。私の講師がここで何を得ているのか分かりません - Javaで素数を計算する講義ノート
しかし、それははるかに良い 方法は、例えば、p- < Cそのすべての素数pに対して必ずそのCの%のP!= 0 を作っていることを確認するためにdicultない です。あなたのArrayListの素数を使って、 これは簡単です。もう一度 を入力すると、whileループを使用することが示唆されます。ループは です。
私はこれらのメソッドの両方を実装しようとしましたが、最初のものを取得しているうちに、c%i!= 0をチェックしていましたが、 c%p!= 0を使用する。これは、素数を計算するためにすべての素数を知る必要があるとは限りませんか?次のように私は、現時点で持っている何
は次のとおりです。
作品public static void isPrime(int candidateNo) {
while (i <= candidateNo/2) {
if (candidateNo%i==0 && i!=1) {
return false;
}
else
return true;
}
}
、はなはだ非効率的ですが。私は素数のarraylistを作成する関数を使用しています(関数がtrueを返す場合、数値はarraylistに追加されます)。
あなたはSQRT(candidateNo)までの数字のみ、candidateNo/2までのすべての数字をチェックする必要はありません。 – dajames