素数:除了1和它本身无其他约数,也称质数(素数只有1和它本身两个约数(不能被整除))
想法:素数从2开始;如果为素数,从2 到 其平方根中,有自然数能整除它,则为素数,反之否。
代码如下:
package ca.map;
public class IsPrime {
public static void main(String[] args) {
dataOfRange(20, 100);
}
public static void dataOfRange(int startData,int endData){
for(int i = startData;i < endData;i++){
if(isPrime(i)){
if(i >= startData){
System.out.print(i+" ");
}
}
}
}
/**
* isPrime:判读数是否为素数<br/>
* @param data 预判读数<br/>
* @return : true 为素数,false为合数
* */
public static boolean isPrime(int data){
//获取数据的平方根
int isqrt = (int) Math.sqrt(data);
//自然数中0,1既不是素数,也不是合数
if(data < 2){
return false;
}
for(int i = 2; i <= isqrt;i++){
//合数
if(data % i ==0){
//break 跳出循环,返回不是素数
return false;
}
}
//素数
return true;
}
}
自然数20到100进行测试。
输出:
23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

1141

被折叠的 条评论
为什么被折叠?



