求一定范围内质数的优化

最初代码

long start = System.currentTimeMillis();
for (int i = 2; i < 10000; i++) {
boolean Flag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
Flag = false;
}

}
if (Flag) {
System.out.println(i);
}
}
long end = System.currentTimeMillis();
System.out.println("花费的时间是"+(end-start));

优化之后   

long start = System.currentTimeMillis();
for (int i = 2; i < 10000 ; i++ ){
boolean Flag = true;
//优化二:针对于本身就是质数的优化
for (int j = 2; j <= Math.sqrt(i); j++){
if ( i % j == 0 ){
Flag = false;
break;//优化一:针对于非质数进行优化
}
}
if(Flag){
System.out.println(i);
}
}
//获取当前的时间
long end = System.currentTimeMillis();
System.out.println("花费的时间是"+(end-start));
posted @ 2020-06-29 14:54  zsxfa  阅读(114)  评论(0)    收藏  举报