sieve相关内容

哈斯克尔 -->F#:特纳筛

当我偶然发现一种称为 Euler 筛的 Eratosthenes 筛的改进版本时,我正在阅读不同的筛分算法.根据 维基百科,有一个在 Haskell 中实现了略有不同的想法版本(称为特纳筛). 现在我试图了解给出的代码片段到底做了什么,我想我已经明白了,但现在我想将代码翻译成 F# 并且真的不知道从哪里开始.我主要担心的是似乎没有一个函数可以“减去"两个序列. 代码如下: impor ..
发布时间:2022-01-05 10:14:17 其他开发

在其过滤过程中使用局部状态突变的方案中的 Eratosthenes 筛选

虽然回答最近的问题我想出了以下代码,实现了 Eratosthenes 筛的变体,反复剔除初始 2...n 序列,尽可能早地停止: (define (sieve2 n)(让 ((ls (makelist n)))(让循环((ls ls)(下一个 (sievehelper2 ls n)))(如果(空?下一个)ls(缺点(汽车ls)(循环下一个 (sievehelper2 ls n)))))))(定义 ..
发布时间:2021-06-21 18:53:05 其他开发

用于在 Scheme 中查找素数的修改筛

我正在研究使用埃拉托色尼筛法提供素数列表的解决方案.因此该程序应该找到直到特定数字“n"的素数.我相信我想出了一个不完整的解决方案,但不知道如何从这里开始. ;;;这是一个辅助函数(定义sievehelper(拉姆达(列表);;;这是我们比较的基本条件;;;除数小于n“"的平方根(if (> (car list) (sqrt (car (reverse list))))'();;;如果未达到基本 ..
发布时间:2021-06-21 18:51:01 其他开发

在python中使Eratosthenes筛分更有效的内存?

Eratosthenes 记忆约束问题的筛选 我目前正在尝试为 Kattis 问题实现一个版本的埃拉托色尼筛,但是,我遇到了一些我的实现无法通过的内存限制. 这是问题的链接声明.简而言之,问题要我首先返回小于或等于 n 的素数的数量,然后解决一定数量的查询,如果一个数字 i 是否为素数.有 50 MB 内存使用限制以及仅使用 python 的标准库(没有 numpy 等).内存限制是我 ..
发布时间:2021-06-02 19:29:33 其他开发

戊二烯筛

我正在尝试找出如何使用eratosthenes筛子查找1-300中的质数的方法.我在解决问题时遇到了麻烦,所以任何帮助都很好! 顺便说一句,我是编程新手,所以如果您能保持简单,那将是最好的 下面是我的代码(到目前为止) #include #include #include #include ..
发布时间:2020-07-07 02:43:39 其他开发

小数字最快的素数测试

我在业余时间玩着Euler项目,现在我需要进行一些重构.我已经安装了Miller-Rabin以及一些筛子.我以前曾听说过,筛网对于小批量的筛子实际上要快一些,例如不到几百万.有人对此有任何信息吗? Google并不是很有帮助. 解决方案 是的,您会发现大多数算法都可以用空间交换时间.换句话说,通过允许使用更多的内存,大大提高了 * a 的速度. 我实际上并没有知道 Miller-Ra ..
发布时间:2020-07-07 02:43:31 其他开发

2-3-5-7车轮分解似乎跳过了质数331

按照用于车轮分解的维基百科上的程序时,我似乎偶然发现了一个问题如果我尝试构建2-3-5-7车轮,则素数331将被视为合成数字. 对于2-3-5-7车轮,2 * 3 * 5 * 7 = 210.因此,我设置了一个具有210个插槽的圆,并顺利完成了步骤1-7.然后,我进入第8步并剔除所有质数倍数的辐条,最终我剔除以121为根的辐条,这是11的倍数,即质数.对于根植于121的辐条,则121 + 2 ..
发布时间:2020-06-14 19:08:37 其他开发

用于素数生成的动态筛选算法

我正在实施Eratosthenes筛网,有关此说明,请参见“> http://en.wikipedia.org/wiki/ Sieve_of_Eratosthenes 。但是,我想对其进行调整以生成M个素数,而不是素数1到N。我的方法是简单地创建一个足够大的N,使得所有M个素数都包含在此范围内。有没有人能很好地启发素数的增长?如果您希望发布代码段,则可以在Java和C ++中实现。 解决方案 ..
发布时间:2020-06-03 21:34:49 Java开发

阿特金筛子出奇的慢

我最近对质数非常感兴趣,并尝试制作程序来计算它们.我能够筛选出Sundaram程序,该程序能够在几秒钟内计算出一百万个质数.我相信那是非常快的,但是我想要更好.我继续尝试制作阿特金筛子,我在20分钟内拍了拍可工作的C ++代码从Wikipedia复制伪代码后. 我知道它不是完美的,因为毕竟它是伪代码.虽然我期望至少比我的Sundaram筛筛机更好,但是我错了.这非常非常慢.我已经看了很多遍了 ..
发布时间:2020-05-21 21:31:49 C/C++开发

有没有办法找到第n个素数的近似值?

是否有一个函数可以返回第 n 个素数的近似值?我认为这类似于近似逆质数计算功能.例如,如果我给这个函数25,它将返回一个大约100的数字,或者如果我给这个函数1000,它将返回一个大约8000的数字.我不在乎返回的数字是否是质数,但是我确实想要速度很快(因此不会生成第一个 n 个质数来返回 n 个.) 我想这样做,以便可以使用筛子生成第一个 n 个质数((更新:请参见解决方案 更严格的限制 ..
发布时间:2020-05-06 10:37:11 其他开发

整数除法与常规除法

我需要将循环中的整数与long和long的商进行比较.为了不进行整数除法,如果我理解正确,是否需要将多头之一转换为双精度? long prime = primes[d]; int i = 1; // "inputNumber / prime" should not be integer division, while it is now. // How do I do this yet ..
发布时间:2020-05-04 03:50:07 其他开发

如何使用6 * k + - 1规则生成Primes

我们知道可以使用以下方式生成3以上的所有素数: 6 * k + 1 6 * k - 1 但是,我们从上述公式生成的所有数字都不是素数。 例如: 6 * 6 - 1 = 35,显然可被5整除。 为了消除这些条件,我使用筛选方法并删除了数字,这些数字是从上面公式生成的数字的因子。 使用事实: 如果一个数字没有素 ..
发布时间:2018-12-26 13:27:16 Java开发