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

1. 题目

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

2. 思路

素数i只有 1i两个因子,所以在算 i 的时候,让它自身将从 2 2 2~ 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. 运行结果

在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值