21xrx.com
2024-11-08 23:25:19 Friday
登录
文章检索 我的文章 写文章
使用Java编写求素数的代码:for与while循环
2023-06-15 21:46:31 深夜i     --     --
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;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复