Java:找素数

问题:判断101-200之间有多少个素数,并输出所有素数。

说明:

素数:如果除了1和它本身以外,不能被其他正整数整除,就叫素数。

分析:

  • 101-200之间的数据可以采用循环依次拿到;每拿到一个数,判断该数是否是素数。
  • 判断规则是:从2开始遍历到该数的一半的数据,看是否有数据可以整除它,有则不是素数,没有则是素数。

代码演示如下:

public class Test2 {
    public static void main(String[] args) {
        //1.定义一个循环,找到101-200之间的全部数据
        for (int i = 101; i <= 200; i++) {

            //信号位:标记
            boolean flag = true;
            //2.判断当前遍历的这个数据是否是素数
            for (int j = 2; j < i / 2; j++) {
                if (i % j == 0){
                    flag = false;
                    break;
                }
            }
            if (flag){
                System.out.println(i + "\t");
            }
        }
    }
}

这个案例当中用到了”信号位:标记“这个方法,大概意思是:先假设这个操作是真的,在判断的时候,假如是假的,再把它改为false。

你可能感兴趣的:(Java编程训练,算法,数据结构)