素数除2为偶数,其他全为期数;所以在求解过程中必须排除偶数。
但是根据素数的定义,只要数载他的一半的时候就可以啦!
package lianxi;
public class SuShuo {
 public static void main(String[]args){
  
  getRun(100);
  System.out.println("-------------------------------------------------");  
  int count=0;  
  for(int i=3;i<100;i=i+2){    
   if(isPrime1(i)){
    System.out.println(i);
    count++;
   }
  }
  System.out.println("总数1:"+count);
  
 }
 
 public static void getRun(int n){
  if(n==2)
   System.out.println("2 是素数");
  else if(n==3)
   System.out.println("3 是素数");
  else if(n>4){  
   int count=0;
   for(int i=3;i<n;i=i+2){    
    if(isPrimeT(i)){
     count++;
     System.out.println(i);
    }
   }
   
   System.out.println("总数2:"+count);
  }  
 }
 
 public static boolean isPrimeT(int n){//判断该数是否是素数
  
  for(int j=3;j<(n+1)/2;j+=2){
   if(n%j==0){
     return false;
   }
  }
  
  return true;
 } 
 
 public static boolean isPrime1(int n){
  
  if(n < 2)
      return false;
  
     if(n == 2)
      return true;
     for(int i = 3; i*i <= n; i += 2){
       
        if(n%i == 0){
          return false;
           }
     }
    
     return true;
 }
}