求100000以内的质数的优化过程(Java版)
版本一(优化之前):
class PrimeNumberTest2
{
public static void main(String[] args)
{
long start = System.currentTimeMillis();//记录开始的时间,以毫秒。
boolean isFlag = true;
int count = 0;//记录质数的个数
for (int i=1;i<=100000 ;i++ )//遍历1到100000个数
{
for (int j = 2;j < i ;j++ )
{
if(i % j == 0)//进行逐个判断
isFlag = false;
}
if (isFlag)
{
System.out.println(i);
count++;
}
isFlag = true;
}
long end = System.currentTimeMillis();//记录结束的时间
System.out.println("质数的个数" + count);
System.out.println("所花费的时间" + (end - start));
}
}
下面是执行后所用的结果及时间:
运行时间为:18496毫秒&