21xrx.com
2024-11-22 12:05:01 Friday
登录
文章检索 我的文章 写文章
如何用Java编写求素数的程序
2023-06-15 13:44:37 深夜i     --     --
Java

素数又称质数,是指只能被1和它本身整除的正整数。在计算机科学中,通常会需要用到求素数的算法。本文将介绍如何用Java编写一个可以求素数的程序。

首先,我们需要明确什么是素数。素数有以下几个特点:

1. 素数大于1。

2. 除了1和它本身,不能被其他数字整除。

3. 所有的偶数都不是素数,除了数字2。

基于以上特点,我们可以用以下方法求素数:

public static boolean isPrime(int num) {

  if(num <= 1)

    return false;

  if(num % 2 == 0 && num!=2)

    return false;

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

    if(num % i == 0)

      return false;

  }

  return true;

}

上述方法采用了三个判断条件来判断一个数字是否为素数。首先,如果数字小于等于1,则不是素数,直接返回false。其次,如果数字是偶数且不等于2,则也不是素数(因为偶数能被2整除)。最后,采用一个循环来遍历数字的平方根以下的所有奇数,如果数字能被其中一个数整除,则也不是素数。

现在我们已经有了一个判断素数的方法,我们需要用一个循环来遍历指定范围内的数字,并将素数添加到一个列表中,最后输出这个列表即可。

public static List getPrimeNum(int start, int end) {

  List primeList = new ArrayList<>();

  for(int i=start; i<=end; i++) {

    if(isPrime(i)) {

      primeList.add(i);

    }

  }

  return primeList;

}

最后,我们可以用以下代码来测试我们的方法:

public static void main(String[] args) {

  List primeList = getPrimeNum(1, 100);

  System.out.println(primeList);

}

输出结果如下:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

求素数,算法。

  
  

评论区

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