Java判断素数

1 Java判断素数的介绍

Java中的质数:质数是一个大于1并除以1的数字,或者仅是其自身。换句话说,素数不能除以自身或1以外的其他数。例如,2、3、5、7、11、13、17 ...是素数。

注意:0和1不是质数。2是唯一的偶数素数,因为所有其他偶数都可以除以2。

2 Java判断素数-不使用方法

让我们看一下Java中的素数程序。在此Java程序中,我们将使用数字变量并检查数字是否为质数。

/**
 * 一点教程网: http://www.yiidian.com
 */
public class PrimeExample{    
 public static void main(String args[]){    
  int i,m=0,flag=0;      
  int n=3;//it is the number to be checked    
  m=n/2;      
  if(n==0||n==1){  
   System.out.println(n+" is not prime number");      
  }else{  
   for(i=2;i<=m;i++){      
    if(n%i==0){      
     System.out.println(n+" is not prime number");      
     flag=1;      
     break;      
    }      
   }      
   if(flag==0)  { System.out.println(n+" is prime number"); }  
  }//end of else  
}    
} 

输出结果为:

3 is prime number

3 Java判断素数-使用方法

/**
 * 一点教程网: http://www.yiidian.com
 */
public class PrimeExample2{    
static void checkPrime(int n){  
  int i,m=0,flag=0;      
  m=n/2;      
  if(n==0||n==1){  
   System.out.println(n+" is not prime number");      
  }else{  
   for(i=2;i<=m;i++){      
    if(n%i==0){      
     System.out.println(n+" is not prime number");      
     flag=1;      
     break;      
    }      
   }      
   if(flag==0)  { System.out.println(n+" is prime number"); }  
  }//end of else  
}  
 public static void main(String args[]){    
  checkPrime(1);  
  checkPrime(3);  
  checkPrime(17);  
  checkPrime(20);  
}    
}   

输出结果为:

1 is not prime number
3 is prime number
17 is prime number
20 is not prime number

4 Java判断素数-获取用户输入

您也可以使用未预定义数字的方法。在这里,用户必须输入数字以检查数字是否为素数。

import java.util.Scanner;  
  
import java.util.Scanner;  
/**
 * 一点教程网: http://www.yiidian.com
 */  
public class PrimeExample3 {  
  
   public static void main(String[] args) {  
       Scanner s = new Scanner(System.in);  
       System.out.print("Enter a number : ");  
       int n = s.nextInt();  
       if (isPrime(n)) {  
           System.out.println(n + " is a prime number");  
       } else {  
           System.out.println(n + " is not a prime number");  
       }  
   }  
  
   public static boolean isPrime(int n) {  
       if (n <= 1) {  
           return false;  
       }  
       for (int i = 2; i < Math.sqrt(n); i++) {  
           if (n % i == 0) {  
               return false;  
           }  
       }  
       return true;  
   }  
}  

5 查找两个数字之间的质数

您还可以找到两个指定数字之间的质数。

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.util.Scanner;  
public class PrimeExample4 {  
   public static void main(String[] args) {  
       Scanner s = new Scanner(System.in);  
       System.out.print("Enter the first number : ");  
       int start = s.nextInt();  
       System.out.print("Enter the second number : ");  
       int end = s.nextInt();  
       System.out.println("List of prime numbers between " + start + " and " + end);  
       for (int i = start; i <= end; i++) {  
           if (isPrime(i)) {  
               System.out.println(i);  
           }  
       }  
   }  
   public static boolean isPrime(int n) {  
       if (n <= 1) {  
           return false;  
       }  
       for (int i = 2; i <= Math.sqrt(n); i++) {  
           if (n % i == 0) {  
               return false;  
           }  
       }  
       return true;  
   }  
}  

 

热门文章

优秀文章