primes相关内容
一位同事刚刚告诉我,由于与散列相关的神秘原因,C# 字典集合会按素数调整大小.我的直接问题是,“它如何知道下一个质数是什么?他们是在讲述一个巨大的表还是动态计算?这是一个可怕的插入时的非确定性运行时导致调整大小" 所以我的问题是,给定 N,这是一个质数,计算下一个质数的最有效方法是什么? 解决方案 连续质数之间的差距 非常小,第一个超过 100 的差距出现在素数 370261 上.这
..
我一直在尝试学习生成素数的算法,我在维基百科上遇到了 Sieve of Atkin.我了解算法的几乎所有部分,除了少数部分.以下是问题: 下面的三个二次方程是如何形成的?4x^2+y^2、3x^2+y^2 和 3x^2-y2 维基百科中的算法讨论了模 60,但我不明白在下面的伪代码中如何/在哪里使用它. 如何找到这些提醒 1、5、7 和 11? 以下是维基百科的伪代码供参考: /
..
在 Javascript 中,我如何找到 0 - 100 之间的质数?我已经考虑过了,我不知道如何找到它们.我想过做 x % x 但我发现了明显的问题.这是我到目前为止:但不幸的是,这是有史以来最糟糕的代码. var prime = function (){变量号;for (num = 0; num 解决方案 这是我解决的方法.把它从 Java 改写成 JavaScript,所以如果有语法
..
澄清一下,这不是家庭作业问题:) 我想为我正在构建的数学应用程序找到质数 &遇到了Eratosthenes筛分方法. 我已经用 Python 编写了它的实现.但它非常慢.例如,如果我想找到所有小于 200 万的素数.需要> 20 分钟.(我在这一点上停止了它).我怎样才能加快速度? def primes_sieve(limit):极限 = 极限+1素数 = 范围(2,limitn)对
..
我正在尝试编写一个简单的筛选函数来计算 clojure 中的素数.我已经看到这个关于编写高效筛分函数的问题,但我是还没有到那个地步.现在我只是想写一个非常简单(而且很慢)的筛子.这是我想出的: (defn筛[势素数](if-let [p (第一势)](recur (filter #(not= (mod % p) 0) 电位) (conj primes p))素数)) 对于小范围它工作正常,但会
..
生成素数是一个我经常不时尝试的玩具问题,尤其是在尝试新的编程语言、平台或风格时. 我正在考虑尝试使用 Hadoop (Map Reduce) 编写素数生成算法或素数测试算法. 我想我会发布这个问题来获取技巧、参考、算法、方法. 虽然我的主要兴趣是基于 Map Reduce 的算法,但我不介意查看新的 Hadoop 编程模型或例如查看使用 PiCloud 我似乎有一些关于素数
..
我是 Haskell 的新手,我正在尝试以流处理风格实现 Euler's Sieve. 当我查看 有关素数的 Haskell Wiki 页面时,我发现了一些神秘的流优化技术.在该维基的 3.8 线性合并中: primesLME = 2 : ([3,5..] `minus` joinL [[p*p, p*p+2*p..] | p " 怎么会这样?我不知道它是如何工作的. 解决方案 通
..
(这太令人兴奋了!)我知道,这个主题是众所周知的.用于有效生成无限递增的汉明数序列,没有重复和遗漏的最新技术(在 Haskell 以及其他语言中)长期以来一直如下(AFAIK - 顺便说一句,它相当于 原始 Edsger Dijkstra 代码): hamm :: [整数]hamm = 1 : map (2*) hamm `union` map (3*) hamm `union` map (5*
..
我无法理解这段代码: let筛 (p:xs) = p : 筛 (过滤器 (\ x -> x `mod` p/= 0) xs)在筛子 [2 .. ] 谁能帮我分解一下?我知道其中存在递归,但这就是我无法理解此示例中的递归如何工作的问题. 解决方案 其实很优雅. 首先,我们定义一个函数sieve,它接受一个元素列表: sieve (p:xs) = 在sieve的主体中,我们取了列
..
来自 这篇文章, /^1?$|^(11+?)\1+$/ 检查一个数(它的一元值)是否是质数. 使用这个,perl -l -e '(1 x $_) !~/^1?$|^(11+?)\1+$/&&print while ++$_;' 返回素数列表. 我对 Perl 没有足够的经验,但我明白正则表达式对于非质数的数字将 true.所以,如果我们用这个表达式打印所有不产生 true 的数字
..
我正在为基本的 Java 考试练习过去的试卷,我发现很难用 for 循环来测试一个数字是否为质数.我不想通过为更大的数字添加效率措施来使它复杂化,只是一些至少适用于 2 位数字的东西. 目前,即使 n 是素数,它也总是返回 false. 我认为我的问题是我的 for 循环本身有问题,以及将“return true"放在哪里;和“返回错误;"......我确定这是我犯的一个非常基本的错误
..
我用 C 编写了这个程序,用于测试数字是否为质数.我还不熟悉算法复杂性和所有大 O 的东西,所以我不确定我的方法(迭代和递归的组合)实际上是否比使用 >纯迭代方法. #include#include#includetypedef struct primenode{长整数键;struct primenode * 下一个;}primenode;类型定义结构{素数 * 头;素数*尾;素数节点 * 当前
..
我正在尝试生成一个小于 10 亿的素数列表.我正在尝试这个,但这种结构非常糟糕.有什么建议吗? a 解决方案 这是 Sieve ofR中的Eratosthenes算法. sieve
..
质因数只有 2、3 或 5 的数称为丑数. 示例: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ... 1 可以认为是 2^0. 我正在寻找第 nth 个丑陋的数字.请注意,随着 n 变大,这些数字的分布极其稀疏. 我写了一个简单的程序来计算给定的数字是否丑陋.对于 n >500 - 它变得超级慢.我尝试使用备忘录 - 观察:ugly_number
..
是否有一种高效的算法可以按升序枚举一个数 n 的因数而不进行排序?我所说的“高效"是指: 该算法从 n 的素数功率因数分解开始,避免了对除数的蛮力搜索. 算法的运行时复杂度为 O(d log₂ d) 或更好,其中 d 是n. 算法的空间复杂度为 O(d). 该算法避免了排序操作.也就是说,因子是按顺序生成的,而不是乱序生成然后排序.尽管使用简单的递归方法枚举然后排序是 O(
..
制作一个简单的筛子很容易: for (int i=2; i
..
我使用 Sieve of Eratosthenes 和 Python 3.1 编写了一个素数生成器.代码在 ideone.com 上以 0.32 秒正确且优雅地运行,以生成最多 1,000,000 的素数. # from bitstring import BitStringdef prime_numbers(limit=1000000):'''质数生成器.产量系列2, 3, 5, 7, 11,
..
我想找到 0 和 long 变量之间的质数,但我无法得到任何输出. 程序是 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Text;命名空间 ConsoleApplication16{课程计划{无效的素数(长数){bool isPrime = true;for (int i = 0; i 谁能帮我找出程序中可能存
..
使用 C++ 找出素数的最快算法是什么?我已经使用过筛的算法,但我仍然希望它更快! 解决方案 Sieve ofAtkin 是 Dan Bernstein 的 primegen.这种筛子比 埃拉托色尼筛子更有效.他的页面有一些基准信息.
..
这是我能想到的最好的算法. def get_primes(n):数字 = 设置(范围(n,1,-1))素数 = []而数字:p = numbers.pop()素数.append(p)numbers.difference_update(set(range(p*2,n+1,p)))返回素数>>>timeit.Timer(stmt='get_primes.get_primes(1000000)', s
..