java找出1~1000中素数的三种方式
第一种:
1 public class Sushu { 2 public static void main(String[] args) { 3 // TODO Auto-generated method stub 4 int j; 5 boolean flag; 6 for(int i=2;i<1000;i++){ 7 flag=false; 8 for(j=2;j<i;j++){ 9 if(i%j==0){ 10 flag=true; 11 break; 12 } 13 } 14 if(flag==false){ 15 System.out.print(i+" "); 16 } 17 } 18 } 19 }
第二种:
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 int j; 4 boolean flag; 5 for(int i=2;i<1000;i++){ 6 flag=false; 7 for(j=2;j<i/2;j++){ 8 if(i%j==0){ 9 flag=true; 10 break; 11 } 12 } 13 if(flag==false){ 14 System.out.print(i+" "); 15 } 16 } 17 }
第三种:
1 public class Sushu { 2 public static void main(String[] args) { 3 // TODO Auto-generated method stub 4 int j; 5 boolean flag; 6 for(int i=2;i<1000;i++){ 7 flag=false; 8 for(j=2;j<=Math.sqrt(i);j++){ 9 if(i%j==0){ 10 flag=true; 11 break; 12 } 13 } 14 if(flag==false){ 15 System.out.print(i+" "); 16 } 17 } 18 } 19 }
推荐使用第三种效率更高
不忘初心,方得始终;不急不徐,方为正道。