问题:判断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。