输出素数
题目:判断 101-200 之间有多少个素数,并输出所有素数。
package com.wangdaojava;
/*
程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,
反之是素数。
用两个for循环,第一个for循环遍历101到200
第二个for循环遍历2到(sqrt-1)
*/
public class Question02 {
public static void main(String[] args) {
// 用count来记录素数的数量
int count = 0;
// 第一个循环,用i记录从101到200
for (int i = 101; i <= 200; i++) {
// 用flag来记录是否为素数
boolean flag = false;
// 第二个循环,用j记录从2到(sqrt-1)
for (int j = 2; j < i; j++) {
// 用if判断语句,判断i是否能整除j,能整除则证明不是素数,直接终止第二个循环,i++回到第一个循环
if (i % j == 0) {
flag = false;
break;
} else {
flag = true;
}
}
// 第二个循环进行完都没有找到能被i整除的j,说明i是素数,用count记录素数的个数
if (flag == true) {
count++;
System.out.println("第" + count + "个素数是" + i);
}
}
System.out.println("---------------");
System.out.println("101到200之间有" + count + "个素数");
}
}