风也温柔

计算机科学知识库

java判断质数的算法 素数判断 java_Java实现方法判断一个数是不是素数(三种不同的方法

  }

  if(count == 0) {

  .out.( + "是素数");

  } else {

  .out.( + "不是素数");

  }

  }

  }

  运行结果

  存在问题

  当数字较大时,循环次数较多,比较耗时,效率较低,所以不推荐使用 -

  方法二:

  思考思路

  采用循环,使用大于1小于判定数的二分之一的数去整除判定数,(任何一个数的最大因数都小于等于它的二分之一)

  代码实现

   java.util.;

   class {

   void main([] args){

   scan = new (.in);

  int = scan.();

  ();

  }

   void (int ) {

  int count = 0;

  for(int i = 2; i < /2; i++) {

  if((%i) == 0) {

  count++;

  }

  }

  if(count == 0) {

  .out.( + "是素数");

  } else {

  .out.( + "不是素数");

  }

  }

  }

  运行结果

  存在问题

  相对上面的代码java判断质数的算法 素数判断 java_Java实现方法判断一个数是不是素数(三种不同的方法,效率提高了不少,可以采纳,但是不是最优做法。

  方法三:

  思考思路

  采用循环,使用大于1小于判定数的开方的数去整除判定数

  (因为如果一个数不是素数是合数,那么一定可以由两个自然数相乘得到,其中一个大于或等于它的平方根,一个小于或等于它的平方根.并且成对出现)

  代码实现

   java.util.;

   java.lang.Math;

   class {

   void main([] args){

   scan = new (.in);

  int = scan.();

  ();

  }

   void (int ) {

  int count = 0;

  for(int i = 2; i < Math.sqrt(); i++) {

  if((%i) == 0) {

  count++;

  }

  }

  if(count == 0) {

  .out.( + "是素数");

  } else {

  .out.( + "不是素数");

  }

  }

  }

  运行结果

  存在问题:

  不好理解java判断质数的算法java判断质数的算法,但是代码效率好,推荐使用。

  文章来源:https://blog.csdn.net/weixin_34942265/article/details/114045703