我从http://www.javascripter.net/faq/numberisprime.htm看到下面的代码
leastFactor = function(n){
if (isNaN(n) || !isFinite(n)) return NaN;
if (n==0) return 0;
if (n%1 || n*n<2) return 1;
if (n%2==0) return 2;
if (n%3==0) return 3;
if (n%5==0) return 5;
var m = Math.sqrt(n);
for (var i=7;i<=m;i+=30) {
if (n%i==0) return i;
if (n%(i+4)==0) return i+4;
if (n%(i+6)==0) return i+6;
if (n%(i+10)==0) return i+10;
if (n%(i+12)==0) return i+12;
if (n%(i+16)==0) return i+16;
if (n%(i+22)==0) return i+22;
if (n%(i+24)==0) return i+24;
}
return n;
}
这是否意味着质数在数字 7 之后每 30 次总是具有相同的模式?
这是否意味着从 7 开始,当你加 30 时,那个数字的结果是素数,那个数字 +4 是素数,那个数字 +6 总是素数,依此类推,直到 +24,之间就不会再有素数了他们?