求一百以内素数

 

public static void main(String[] args) {
        int i,j;
        /**
         * 设置一个标识符 判断是不是素数 默认是素数
         * 这种设置标识符在这种数字判断用的比较多,务必记得
         */
        /**
         *  为什么flag不在这里直接赋值1?
         *  因为当i = 2和3时,找不到能整除的数
         * 那么flag还是1,做判断的时候是素数
         * 当i= 4时,能找到2能整除,注意!!!!这时候,改变了flag的值flag = 0
         * 那再进行i = 5的判断时,flag这时候已经是0了,
         * 无论里面判断是不是素数,flag的值都为0,那么在内层循环结束时
         * 判断出来的结果5不是素数,所以正确操作应当是外层循环一开始,就设置flag=1(假设当前的数时素数)
         * 那么每次就能够进行判断
         * */
        int flag;
        for ( i = 2; i <= 100; i++)
        {
            /**
             * 每次都假设当前的数(i)是素数
             */
            flag = 1;
            for (j = 2; j < i; j++) {
                /**
                 * 如果找到了能整除的数,那就是不是素数
                 * 那就不用找j了 直接进行下一个数字的判断
                 */
                if (i%j == 0){
                    flag = 0;
                    break;
                }
            }
            if (flag == 1) {
                System.out.print(i+",");
            }
        }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值