java - 在 Java 中实现素数查找算法的最佳方法是什么?我们如何创建库类然后在 Java 中使用?

标签 java algorithm streaming biginteger class-library

我想用 Java 创建库类并在我 future 的程序中使用它们。我希望这些库类能够找到不超过某个数甚至下一个素数的素数,或者你可以说解决与素数相关的大部分基本问题。

  1. 我从未创建过 Java 库类。我的目标是学习这样做。请通过指出教程或其他内容来帮助我。我熟悉 netbeans IDE。
  2. 我发现了一些算法,比如 Sieve of EratosthenesSieve of Atkin .如果您能指出一些更有效的算法,那就太好了。我不希望他们成为最好的,但至少足够好。我的目标是通过实现它们来学习一些东西。因为我没有什么实际的编码经验,所以我想通过它来提高我的技能。
  3. 我的 friend 建议我使用 Stream 类,他正在谈论通过将一个文件的输出作为另一个文件的输入来实现它以使我的代码干净。我不是很了解他。如果我说错了什么,请原谅我。在这一点上我想问的是,这是一种高效且面向对象的方式来做我想做的事情。如果是,请告诉我该怎么做,如果不是,请指出其他方法。

我具有 Java 语言的基础知识。我想通过这次冒险完成的是获得编码经验,因为这是这里的每个人都建议的,“接受像这样的小事并自学”

提前感谢大家

问候

杀个杀

编辑: 在 Eratosthenes 和其他人的筛法中,我们需要将 2 到 n 的数字存储在数据结构中。我应该把它存放在哪里?我知道我可以使用动态集合,但只是一个小问题......如果我想找到数十亿甚至更多的素数(毫无疑问我会使用大整数),但所有这些都会存储在堆中正确的?有溢出的恐惧吗?即使它不是一个好习惯?或者将数字或列表(我们将根据我们使用的算法在其上执行操作)存储在一个文件中并在那里访问它会更好吗?抱歉,如果我的问题太菜鸟了...

最佳答案

“Eratosthenes 筛法”是寻找素数的好算法。如果你使用谷歌,你可以找到 ready implementation in java .

关于java - 在 Java 中实现素数查找算法的最佳方法是什么?我们如何创建库类然后在 Java 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4152563/

相关文章:

java - Struts2 等效项 - actionError.get().hasNext()

java - 给定一个数字检查数字是否形成加法方程?

algorithm - 为什么这个 LinkedList 排序算法有效?

algorithm - 任何更快的算法来计算除数

streaming - Netflix 和 Hulu 使用哪个 CDN,他们如何以每月 10 美元的价格提供无限制的流媒体服务?

streaming - MPEG-DASH 和 RTSP 有什么区别?

java - PreparedStatement.getParameterMetaData() 在 sql-string 中有注释和参数时抛出 ArrayIndexOutOfBoundsException

java - 为什么输入是 Strings 然后使用 parseInt?

java - 如何找到连接选定顶点(顶点子集)的最小连接器

php - 如何防止来自 Internet 下载管理器 IDM 的文件 HotLink