百木园-与人分享,
就是让自己快乐。

找素数(java)

什么是素数?

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

实际案例

比如我们想找出1-1000的所有素数

思路1

可以先定义一个方法 

primeNumber
//参数列表用来接收所想找的素数范围
public static int primeNumber (int begin,int end){

    int count = 0;//初始化一个元素来记录素数  //遍历所找范围
    for (int i = begin; i <=end ; i++) {
        //添加一个标记位
        boolean flag = true;//用来记录是否为素数
        for (int j = 2; j <= i /2; j++) {
            if (i % j == 0) {
                flag = false;
                break;
            }
        }
        if (flag == true) {
            System.out.print(i+\"\\t\");
            count++;
        }
    }
    return count;

}
//主方法里调用
//找素数(质数)除了1和他本身以外,不能被其他整数整除,就叫素数
public static void main(String[] args) {
int i = primeNumber(100,300);
System.out.println(\" \");
System.out.print(\"素数个数为\"+i);
}
 
 

思路2

/**
* 场景:输出101~200之间的所有素数
* 1、遍历该区间内所有数据
* 2、判断该数据是否是素数
* 3、根据判定结果输出素数
*/
public class test {
public static void main(String[] args) {
        //定义循环,找到101~200之间的所有数据
for (int m = 101; m < 200; m++) {
        //设置flag = true,默认i为素数
boolean flag = true;
        //m同定义中的范围,取值为2~√(m),判断当前遍历的数据是否是素数
for (int n = 2; n <= sqrt(m); n++) {
if(m % n == 0){ //若m能被n整除,意味当前数不是素数
        //当前数不是素数,则flag的值更改为false
flag = false;
break; //跳出当前循环
}
}
        //根据flag的结果,判断m是否是素数,如果是(flag == true),则输出
if (flag){
System.out.print(m + \" \");
}

}
}
}




来源:https://www.cnblogs.com/yaomagician/p/17129701.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 找素数(java)

相关推荐

  • 暂无文章