要求用JAVA编程输出3---100以间的所有素数。

来源:百度知道 编辑:UC知道 时间:2024/07/03 03:10:36
详细一点,不要漏一点的!!

public class Sushu {
public static void main(String[] args){
new Sushu().allSushu(3, 100);
}

public boolean isSushu(int inter){

double chushu=Math.sqrt(inter);
for(int i=3; i<=chushu; i++){
if(inter%i==0)
return false;
}
return true;
}

public void allSushu(int from, int to){
for(int i=from; i<to; i++){
if(i%2==0){
i++; //只看奇数
}
if(this.isSushu(i))
System.out.println(i);
}
}
}

最有效率的算法,请看下面
package number;

import java.util.HashMap;
import java.util.Map;

/**
* 查找小于某个数的所有素数。
* 最简单的方法就是试除法,将该数N用小于等于N的平方根的所有素数去试除,若均无法整除,则N为素数。
* @author Owner
*
*/
public class CheckPrime {
/**
* 用来保存所有已查找到的素数,为后面验证N为素数时提供小于N的平方根的素数。
*/
private static Map<String, CheckPrime> primeMap = new HashMap<String, CheckPrime>();