判断101-200之间有多少个素数,并输出所有素数
1public class Demo01 {
2public static void main(String[] args) {
3int count = 0;
4for (int i = 101; i <= 200; i++) {
5boolean flag = false;
6for (int j = 2; j < i; j++) {
7if (i % j == 0) {
8                flag = true;
9break;
10            }
11        }
12if (!flag) {
13            count++;
14            System.out.print(i + " ");
15        }
16    }
17    System.out.println(count);
18 }
19 }
上述⽅法中第⼆次循环次数过多,可优化,利⽤Math.sqrt()⽅法,可避免重复,假如i=150时,j=10时,i已经被j整除,就没有必要让j循环到15了
1public class Demo01 {
2public static void main(String[] args) {
3int count = 0;
4//素数肯定是在奇数中产⽣,素数只能被1和它本⾝整除
5for (int i = 101; i < 200; i += 2) {
6boolean b = false;
7//double  Math.sqrt(double d)  求参数的平⽅根返回值为double
8for (int j = 2; j <= Math.sqrt(i); j++) {
9if (i % j == 0) {
10                    b = false;
11break;
12                } else {
13                    b = true;
14                }
15            }
16if (b == true) {
17                count++;
18                System.out.print(i+" ");
19            }
20        }
21        System.out.println("素数个数是: " + count);
22    }
并输出23 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。