Java 编程练习之:101-200之间的素数

1. 题目

判断101-200之间有多少个素数(质数),并输出所有素数(质数)。

2. 思路

素数i只有 1i两个因子,所以在算 i 的时候,让它自身将从 2 22~i \sqrt{i}i 所有的数都做一遍取余运算。

  • 如果在这么多次运算中,哪怕有一次得到的余数值为0都可以判断这个i 不是一个质数,所以我们把 break 语句设定在这里。这个时候我们设定一个int类型的符号symbol来标志跳出循环时的状态(是否是质数),并且跳出循环。
  • 如果多次运算中,每一次循环,如果取余数运算为非零,symbol 就置 1 ,如果循环过程中始终没有跳出,一直到循环做完symbol还是 1,那么这个数就是个质数。
  • 这个循环过程可以用for 来完成,也可以用 while 完成,使用 while 不要忘记设定一个 j 来控制循环步进。

3. 代码

public class prime_number3 {
    public static void main(String[] args) {
        int count = 0;

        for (int i = 101; i <=200 ; i++) {
            int symbol = 0;
            int j = 2;
            while(j<=Math.sqrt(i)){
                if (i%j==0){
                    symbol = 0;
                    break;
                }
                else {
                    symbol = 1;
                }
                j++;
            }
            if (symbol!=0){
                System.out.println(i+"是个质数");
                count = count+1;
            }
        }
        System.out.println("101-200之间质数的个数是:"+count+"个");
    }
}

4. 运行结果

在这里插入图片描述


版权声明:本文为qq_42902997原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。