Questions tagged «primes»

4
为什么最好在散列函数中使用质数作为mod?
如果我有一个从1到100的键值列表,并且想将它们组织成11个存储桶的数组,那么我会被教导如何形成mod函数 H=kmod 11H=kmod 11 H = k \bmod \ 11 现在,所有值将在9行中一个接一个地放置。例如,在第一个存储桶中将有0,11,22…0,11,22…0, 11, 22 \dots。在第二个中,将有1,12,23…1,12,23…1, 12, 23 \dots等。 假设我决定成为一个坏孩子,并使用非质数作为我的哈希函数-以12为例。使用哈希函数 H=kmod 12H=kmod 12 H = k \bmod \ 12 会导致哈希表的值在第一个存储桶中为0、12、24 0,12,24…0,12,24…0, 12, 24 \dots ,在第二个存储桶中为1、13、25 1,13,25…1,13,25…1, 13, 25 \dots等,依此类推。 本质上,它们是同一件事。我没有减少冲突,也没有通过使用质数哈希码更好地进行扩展,而且我看不出它有什么好处。

3
什么时候AKS素数测试实际上比其他测试快?
我试图了解我如何了解AKS素数测试,例如证明PRIMES⊆P的推论,或用于计算机素数测试的实际实用算法。 该测试具有多项式运行时,但具有高度和可能的高常数。那么,实际上,在哪一个nnn方面超过其他素性检验?在这里,nnn是质数的位数,“超越”是指典型计算机体系结构上测试的大概运行时间。 我对功能上可比的算法感兴趣,这是确定性的算法,不需要为正确性而猜测。 另外,考虑到测试的内存需求,在其他测试中使用这种测试是否可行?

5
使用质数进行数据压缩
我最近偶然发现了以下有趣的文章,该文章声称无论数据的类型和格式如何,始终有效地将随机数据集压缩超过50%。 基本上,它使用质数唯一地构造4字节数据块的表示形式,由于每个数字都是质数的唯一乘积,因此易于解压缩。为了使这些序列与质数相关联,它利用字典。 我的问题是: 正如作者建议的那样,这真的可行吗?根据该论文,它们的结果非常有效,并且始终将数据压缩为较小的大小。字典的大小会不会很大? 难道不能使用同一算法来迭代地重新压缩压缩数据吗?很明显,并且已经证明,这种技术(压缩的数据被尽可能多地重新压缩,从而大大减小了文件的大小)是不可能的。实际上,在所有随机数据的集合和压缩数据之间不会存在双射。那么为什么会有这种感觉呢? 即使该技术尚不完善,也显然可以对其进行优化和大力改进。为什么没有对此进行更广泛的了解/研究?如果确实这些主张和实验结果是正确的,那么这将不会给计算带来革命性的变化?

2
为什么认为分解大整数很困难?
我在某处读到,发现最有效的算法可以计算时间的因数,但是我写的代码是或可能是具体取决于快速除法和模数。我敢肯定我在某个地方误解了一些东西,但是我不确定在哪里。这就是我以伪代码形式编写。O(exp((64/9⋅b)1/3⋅(logb)2/3)O(exp⁡((64/9⋅b)1/3⋅(log⁡b)2/3)O(\exp((64/9 \cdot b)^{1/3} \cdot (\log b)^{2/3})O(n)O(n)O(n)O(nlogn)O(nlog⁡n)O(n \log n) function factor(number) -> list factors = new list if number < 0 factors.append(-1) number = -number i = 2 while i <= number while number % i == 0 factors.append(i) number /= i i++ return factors

1
是否确定已知间隔中是否存在素数?
我从关于stackoverflow的帖子中看到,有一些相对较快的算法可以筛分一个数字区间,以查看该区间是否存在质数。但是,这是否意味着以下各项的总体决策问题((在区间中是否存在质数?)在P中。(该帖子有很多答案我没有看过,因此如果这个问题是一个问题,我深表歉意。重复或不必要)。 一方面,如果间隔足够大(例如),则适用Bertrand's Postulate之类的东西,并且此间隔中肯定有一个素数。但是,我也知道两个质数之间有任意大的距离(例如。 [N,2N][N,2N][N,2N][N!,N!+N][N!,N!+N][N!,N!+ N] 即使决策问题在PI中,也看不到相应的搜索问题也很容易解决,因为那样执行二进制搜索时,我们可能无法利用素数已知分布的相同属性。

3
复杂性理论难以检查的价值
该质数计算函数,降级,小于定义为质数的数目或等于。xπ(x )π(x)\pi(x)Xxx 我们可以从定义一个决策问题,如下所示:π(x )π(x)\pi(x) 给定两个用二进制写的数字和,确定。Ñ π (X )= ÑXxxñnnπ(x )= nπ(x)=n\pi(x) = n 我和一个朋友今天早些时候在谈论这个问题。有一个针对这个问题的伪多项式时间算法-只需将计数,在每一步使用试验除法即可查看有多少个质数,并检查其是否等于。问题也存在于PSPACE中,因为我刚刚描述的算法可以实现为仅使用多项式辅助空间。ñXxxñnn 但是,我很难找到一种方法来将这个问题放入较低复杂度的类中。我看不到如何为该问题构建多项式时间验证程序,因此我不确定它是否在NP中,也根本无法考虑将其纳入多项式层次结构的方法。 最适合此问题的复杂度类别是什么? 谢谢!

3
为什么用米勒-拉宾代替费马素数检验?
从Miller-Rabin证明中,如果一个数字通过了Fermat素数检验,则它还必须通过具有相同底数(证明中的变量)的Miller-Rabin检验。而且计算复杂度是相同的。aaa 以下是来自Fermat素数测试的信息: 尽管Carmichael数比素数少得多,但其中1足够多,因此上述形式中经常不使用Fermat的素数检验。取而代之的是,更常使用Fermat测试的其他更强大的扩展,例如Baillie-PSW,Miller-Rabin和Solovay-Strassen。 米勒-拉宾(Miller-Rabin)有什么好处,为什么据说它比费马素数检验更强大?

2
有效计算n个除数的最小整数
为了解决这个问题,我首先观察到 ϕ(pe11 pe22⋯ pekk)=(e1+1)(e2+1)⋯(ek+1)ϕ(p1e1 p2e2⋯ pkek)=(e1+1)(e2+1)⋯(ek+1)\phi(p_1^{e_1} \space p_2^{e_2} \cdots \space p_k^{e_k}) = (e_1 + 1)(e_2 + 1)\cdots(e_k +1) 其中ϕ(m)ϕ(m)\phi(m)是的(不一定是素数)的除数数mmm。如果mmm是使得的最小整数ϕ(m)=nϕ(m)=n\phi(m) = n,则 ϕ(m)=nϕ(m)=n\phi(m) = n (e1+1)(e2+1)⋯(ek+1)=n(e1+1)(e2+1)⋯(ek+1)=n(e_1 + 1)(e_2 + 1)\cdots(e_k +1) = n 现在,我们必须选择eieie_i这样∏ipeii∏ipiei\prod_{i} p_i^{e_i}是最小的。的选择ppp很简单-它们只是升序的质数。 然而,我的选择首先想到的eieie_i是不正确的。我以为您可以简单地将nnn分解为因子,然后按降序对因子进行排序,然后减去1。在大多数情况下,它可以正常工作,例如n=15n=15n = 15除数的最小整数是: 15=5⋅315=5⋅315 = 5 \cdot 3 15=(4+1)(2+1)15=(4+1)(2+1)15 = (4 + 1)(2 + 1) m=2432=144m=2432=144m …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.