java day05 输出质数,以及关于质数的输出第一种方式(两种算法优化)

//输出1-100内的质数(只能对1 和本身整除)
//为了显示算法优化带来的数据差异可以自行更改要输出的数据域
public class test{
	public static void main(String[] args){
		/* boolean isFlag = true;
		for(int i = 2;i <= 100 ;i++){
          for(int j = 2;j < i;j++){
			  if(i % j == 0){
				  isFlag = false;
			  }
		  }	
          if(isFlag == true){
			  System.out.println(i);
		  }
          //重置isFlag
          isFlag = true;		  
		} */
		
		//算法优化
		/* boolean isFlag = true;
		for(int i = 2;i <= 100 ;i++){
          for(int j = 2;j < i;j++){
			  if(i % j == 0){
				  isFlag = false;
				  break;//优化一: 只对本身非质数的自然数是有效的
			  }
		  }	
          if(isFlag == true){
			  System.out.println(i);
		  }
          //重置isFlag
          isFlag = true;		  
		} */
		
		//算法优化二
		boolean isFlag = true;
		for(int i = 2;i <= 100000 ;i++){
          for(int j = 2;j <= Math.sqrt(i);j++){
			  if(i % j == 0){
				  isFlag = false;
				  break;//优化一: 只对本身非质数的自然数是有效的
			  }
		  }	
          if(isFlag == true){
			  System.out.println(i);
		  }
          //重置isFlag
          isFlag = true;		  
		}
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_46381608/article/details/107525373