package 质数; import java.lang.Math; public class 质数 { public static void main(String[] args) { long start = System.currentTimeMillis(); PrimeNumber(); System.out.println(""); System.out.println("------------------------"); PrimeNumber2(); long end = System.currentTimeMillis(); System.out.println(""); System.out.println("------------------------"); System.out.println((end-start)+"ms"); } public static void PrimeNumber() { for(int i = 2 ; i <= 100; i++) { boolean flag = false; for(int j = 2 ; j <= Math.sqrt(i)/*优化2*/; j++) { if(i % j == 0) { flag =true; break;//优化1 } } if(!flag) { System.out.print(i+" "); } } } public static void PrimeNumber2() { int count = 0;//记录质数的个数 label:for(int i = 2 ; i <= 100; i++) { for(int j = 2 ; j <= Math.sqrt(i); j++) { if(i % j == 0) { continue label; } } //能执行到此步骤的,都是质数 count++; } System.out.println(count); } }
结果: