21xrx.com
2025-04-22 11:54:22 Tuesday
文章检索 我的文章 写文章
使用Java编写求素数的代码:for与while循环
2023-06-15 21:46:31 深夜i     14     0
Java 素数 for while循环

素数,又叫质数,在数学中是指只能被1和自身整除的正整数。求素数是计算机科学和数学中的一个经典问题,本文将介绍如何使用Java编写求素数的代码。其中,我们将用到for和while两种不同的循环方式。

1.使用for循环

使用for循环,我们需要先定义一个boolean类型的flag标识符,用于判断一个数是否为素数。对于给定的正整数n,如果满足以下条件之一,则n不为素数:

- n能被2到n-1之间的任意一个数整除;

- n能被其平方根以下的任意一个质数整除。

如果n符合以上两种情况之一,则在循环结束后将flag置为false,表示此数不为素数,否则flag为true。代码如下:

public static boolean isPrimeFor(int n) {
  boolean flag = true;
  if (n <= 1)
    flag = false;
   else {
    for (int i = 2; i <= Math.sqrt(n); i++) {
      if (n % i == 0)
        flag = false;
        break;
      
    }
  }
  return flag;
}

2.使用while循环

使用while循环,我们需要先定义一个boolean类型的flag标识符和一个int类型的i计数器,用于判断一个数是否为素数。对于给定的正整数n,如果满足以下条件之一,则n不为素数:

- n能被2到n-1之间的任意一个数整除;

- n能被其平方根以下的任意一个质数整除。

如果n符合以上两种情况之一,则在循环结束后将flag置为false,表示此数不为素数,否则flag为true。代码如下:

public static boolean isPrimeWhile(int n) {
  boolean flag = true;
  if (n <= 1)
    flag = false;
   else {
    int i = 2;
    while (i <= Math.sqrt(n)) {
      if (n % i == 0)
        flag = false;
        break;
      
      i++;
    }
  }
  return flag;
}

  
  

评论区

请求出错了