素数:除了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
时间: 2024-10-28 06:21:24