私はhttp://en.wikipedia.org/wiki/Primality_test#Naive_methodsナイーブ素数テストの最適化
static boolean check(int n)
{
if(n == 2 || n == 3)
{
return true;
}
if(n < 2 || n % 2 == 0 || n % 3 == 0)
{
return false;
}
for(int i = 6; i * i <= n; i += 6)
{
if(n % (i - 1) == 0 || n % (i + 1) == 0)
{
return false;
}
}
return true;
}
ここに記載されているとして、ナイーブな実装を使用して素数をテストするためのアルゴリズム、私は6K + 1セクションにすべての方法を得たが、その後、私は」を持っています失われた。他にどのように私はこの速度をさらに最適化できますか?
これはcodereviewに属していると思います。類似の質問http://codereview.stackexchange.com/q/8667/9534 – inf
「n%2」と「n%3」によって大部分の数字が削除されることを忘れないでください。それほど重要でないよりも後に何をするかをチェックします。このパターンを最適化する最も簡単な方法は、呼び出す方法を変更することです。すなわち発呼者を最適化する。 –