容易理解的方式,求解100以内的质数

质数:只能被1和本身除尽的数,2是最小的质数
代码如下:
在这里插入图片描述

因为最小的质数是从2开始的,所以在给 i 和 j 取值时,就从2开始,最大值 i 不得超过100(时求100以内的质数),当然此处可以自行修改。
当第4行的外层for循环开始执行时,i = 2,i 小于100,进入第5行第一个内层for循环,j = 2;判断条件 j 小于 i 不成立,第5行的内部for循环不执行,进入第11行的 if 判断,
!flag输出是: 不是flag,最初赋值flag = false,经过!flag后变为flag = true,则第11行的 if 语句成立,此时输出 i,在上面 i 是未经处理的,是开始外层for循环赋值i = 2,所以输出第一个质数 2,if 语句输出完成后,会执行第14行的语句,重新定义flag = false,再次返回第4行的for循环,外层for循环依次增加,从2增加至100,假设当外层循环 i = 4 时,第5行的for循环中判断语句j = 2;j < i成立,执行第6行的 if 语句,i 对 取余,即4 % 2 得到结果0,则i % j成立,给flag赋值为true,运行到break时,跳出if语句,并进入第11行的 if 语句,此时 !flag得到false的结果,所以不成立,即不会执行System.out.println(i)的语句,不会有输出,再次给flag赋值为false,整个外层for循环执行完毕,一次类推就可以得到100以内的质数的结果,具体输出就不再写了,复制代码,自己运行下就ok

还有一种更简单的方式,会运用continue的语法,以及Math.sqrt()的语法,这里就不再详细说明了,以下是相关代码,供参阅…
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值