判断101-200之间有多少个素数,并输出所有的素数。
说明:
素数:如果除了1和它本身以外,不能被其他正整数整除,就叫素数。
分析:
1.首先101-200之间的数据可以采用循环依次拿到;每拿到一个数,判断该数是否是素数。
2.判断规则是:从2开始遍历到该数一半的数据,看是否有数据可以整除它,有则不是素数,没有则是素数。
具体代码如下:
1. 首先使用for循环从101开始循环到200。
for(int i =101;i<=200;i++){
//i=101 102 103...199 200
2. 在每次循环时,定义一个boolean类型的变量flag,并将其初始化为true,用来标记当前数是否为素数。
boolean flag =true;//标记是否为素数
3.下面采用一个内层循环来判断当前数是否为素数。内层循环从2开始循环到i/2,每次判断i是否能被j整除,如果能则说明i不是素数,将flag设为false,并使用break跳出循环。
for (int j = 2; j <i/2 ; j++) {
if(i%j==0){
flag=false;
break;
}
}
4. 最后,如果flag为true,则说明当前数是素数,将其输出。
if(flag){
System.out.print(i+"\t");
}
5. 完成循环,输出结果即为101到200之间的所有素数。
完整代码如下:
package com.itheima.anli;
public class Sushu {
public static void main(String[] args) {
//判断101-200之间有多少个素数
//素数:除了一和它本身以外,不能被其他的正整数整除
for(int i =101;i<=200;i++){
boolean flag =true;//标记是否为素数
for (int j = 2; j <i/2 ; j++) {
if(i%j==0){
flag=false;
break;
}
}
if(flag){
System.out.print(i+"\t");
}
}
}
}