找出给定范围内的所有素数,并且将其打印\quad\quad在实现该方法前首先明白一个概念,即何为素数:素数(又称质数)指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数。例如2、3、5这种只能被1与自身整除的数。
\quad\quad那么我们的思路也就从这里开始。要定义两层循环,第一层用于对该范围内的所有整数进行遍历。第二层循环用于对第一层循环中,传递过来的整数判断其是否是质数。
\quad\quad基本思路:
\quad\quad 1.定义一个列表用于存放素数,定义一个计数器返回素数的个数。定义一个判断是否为素数的标志(后面会提到如何使用)。
\quad\quad\quadArrayList isPrime=new ArrayList<>();//定义列表
\quad\quad\quadint count=0;//定义计数器,初始化为0
\quad\quad\quadboolean flag=true;//定义标志,初始化为true
\quad\quad 2.定义外侧循环,实现范围内的整数进行遍历。
\quad\quad\quadfor(int i=2;i<n;i++)//遍历2至n-1之间的所有的整数,由于2是最小的质数,所有从2开始。
\quad\quad 3.定义内层循环,用于判断是否为质数,如果是则flag为true,否则flag为false
\quad\quad\quadint sqrt=(int)Math.sqrt(i);//减少循环次数,提高效率
\quad\quad\quad for (int j = 2; j <(sqrt+1) ; j++) {
\quad\quad\quad if(i%j==0){
\quad\quad\quad flag=false;//如果这个数不是质数,标记为false
\quad\quad\quad break;
\quad\quad\quad }
\quad\quad\quad else flag=true;//是质数标记为true
\quad\quad\quad }
\quad\quad 4.最后对flag进行判定,为true则存入列表,count++;
\quad\quad方法实现:\quad\quad 输出结果:100以内的质数
![]()
找出给定范围内的所有素数,并且将其打印
最新推荐文章于 2022-10-04 18:39:19 发布