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;
}
}
热门文章
优秀文章