判断素数(prime) 详解 及 代码


本文地址: http://blog.csdn.net/caroline_wendy/article/details/17115327


判断素数(prime), 也称素性检测(primality test), 是基本的算法, 具体算法如下:

1. 检测是否小于2, 小于2不是素数;

2. 从最小素数2遍历至原数的平方根即可, 因为相乘的两数包含大小顺序;

具体参见注释;

代码如下:

/*  * Algorithms.java  *  *  Created on: 2013.12.03  *      Author: Wendy  */  /*eclipse std kepler, jdk 1.7*/  public class Algorithms  { 	public static boolean isPrime(int N) 	{ 		if(N<2) return false; //小于2不是 		for(int i=2; i*i <= N; ++i) //从最小素数2开始遍历至sqrt(N) 			if(0 == N%i) return false; //整除不是素数 		return true; 	} 	 	public static void main(String[] args)  	{ 		System.out.println("isPrime(4) = " + isPrime(4)); 		System.out.println("isPrime(17) = " + isPrime(17)); 	} } 

输出:

isPrime(4) = false isPrime(17) = true