java如何最简单求素数 详细讲解

我们先来了解一下素数到底是一个怎样的数。

素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

b42507a3218d46817ca084db63acface.png

 

我们了解了素数的定义,就可以写出思路了,接下来就以求100以内的素数为例 。

我们的选择区间是 一个数大于1且小于100的这段数字,所以我们的代码可以这样写:

 for (int s=2;s<=100;s++){
//功能代码
}

选择区间写出来了,我们就要写判断该数是否是素数

我们还需要再写出一个循环,也就是某个数能不能整除其他自然数的一个判定条件。

for(j=2;j<s;j++){
if(s%j==0){
break;}
}

这里的for循环是一个嵌套,即:它在外一层循环的区间内循环,j随着s的自增而自增,但永远不会于s相等(j<s体现)。

        这里重点说判定语句if,在if里s%j==0,表达s除以j余数为0时,break结束并跳出整段循环(包括外循环)进入下一段代码。

最后我们只需要写出输出即可。

if (j >=s) {
                System.out.print("|"+s);
            }

这里补充一下,循环内的变量在循环外无法调用,所以我们要在整段循环前创建一个变量,即


        int j=0;
        for (int s=2;s<=100;s++){
            for (j=2;j<s;j++){
                if (s%j==0){
                    break;}
            }
            if (j >=s) {
                System.out.print("|"+s);
            }
        }
 

这里我用 | 将把各数分隔开来,放上整段代码

public class PrimeNumber {
    public static void main(String[] args) {
        int j=0;
        for (int s=2;s<=100;s++){
            for (j=2;j<s;j++){
                if (s%j==0){
                    break;}
            }
            if (j >=s) {
                System.out.print("|"+s);
            }
        }
    }

}

e5be0c128183921af49998338e5eacfe.png

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

三天不洗头

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

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

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

打赏作者

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

抵扣说明:

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

余额充值