判断素数的方法:用一个数x去除2至sqrt(x)(即该数的开方),如果能被整除, 则表明此数不是素数,反之是素数。
第一种:双重for循环 使除数与被除数个个计算,效率极低
public void test1(int n){long start = System.currentTimeMillis(); //取开始时间int num=0;boolean sign;for(int i=2;i<n;i++){if(i % 2 == 0 && i != 2 ) continue; //偶数和1排除sign=true;for (int j=2;j<i;j++){if(i%j==0){ sign=false;break; } }if (sign){ num++; /* System.out.println(""+i);*/} } System.out.println(n+"以内的素数有"+num+"个");long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }
第二种:主要考虑2 ~ i/2之间的数 &