17得票7回答
暴力破解、单线程素数分解

以下是一个可以(相对快速地)将64位无符号整数分解为其质因数的函数。请注意,该因数分解不是概率性的(即,它是准确的)。在现代硬件上,该算法已经足够快,可以在几秒钟内发现一个数字是质数或具有很少的非常大的因子。 问题: 在保持单线程的情况下,是否可以改进所提出的算法,使得它可以更快地分解(任意...

17得票8回答
Haskell中的质因数

我是Haskell的新手。 如何生成一个包含下一个整数的质因数的列表? 目前,我只知道如何生成质数:primes = map head $ iterate (\(x:xs) -> [y | y<-xs, y `mod` x /= 0 ]) [2..]

16得票7回答
C#中的质因数分解

我想创建一个C# 2005程序来计算给定输入的质因数。我想使用基本且最简单的方法,不需要为此创建方法或数组等内容,只需使用简单的模数即可。是否有代码可以满足我的要求? 以下是用于查找简单因子的代码,我需要修改此代码以计算质因数。class Program { static void ...

13得票1回答
Python分解质因数的性能

我对Python相对较新,对于两个相对简单的代码块的性能感到困惑。第一个函数给定一个素数列表,生成一个数字n的质因数分解。第二个生成数字n的所有因子的列表。我本以为prime_factor(对于相同的n)会比factors快,但事实并非如此。我不是在寻找更好的算法,而是想了解为什么prime_...

12得票4回答
找出给定集合的所有子集的最小公倍数之和

给定:集合A = {a0, a1, ..., aN-1}(1 ≤ N ≤ 100),其中 2 ≤ ai ≤ 500。 问题:找出所有大小至少为2的A子集的最小公倍数(LCM)之和。 对于一个集合B = {b0, b1, ..., bk-1},它的最小公倍数LCM定义为最小整数Bmin,使得...

11得票6回答
质因数分解

最近我一直在阅读关于密码学中使用质因数分解的内容。无论我去哪里阅读,都会说没有“发布”的算法可以在多项式时间(而不是指数时间)内找到密钥的质因数。 如果发现或发布了可以在多项式时间内运行的算法,那么与理论和计算机科学世界相比,这将如何影响实际计算环境?考虑到我们对密码学的依赖程度,世界会突然...

11得票2回答
高效地找出一个数的所有因子

我想找到给定数的所有因数(除了这个数本身)。目前我有以下代码:public static List<int> proper_divisors(int x) { List<int> toreturn = new List<int>(); tor...

11得票8回答
找到最小的正则数,使其不小于N。

正则数是可以整除60的幂次方的数字。例如,60的平方=3600=48×75,因此48和75都是60的幂次方的因子。因此,它们也是正则数。 这是取下一个2的幂次方问题的扩展。 我有一个整数值N,其中可能包含大的质因数,我想将其舍入为仅由小的质因数(2、3和5)组成的数字 例子: ...

11得票3回答
C或C ++:用于分解整数的库?

似乎有几个非常快的质因数分解算法(一个看起来很理想的是二次筛法)。然而,我不想自己编写(可能很差)的实现,而是希望使用现成的库来简化操作。 我需要能够高效地分解多达15位数字的整数。因此,我不是在寻找渐进最优的算法,因为我们可以假设要分解的数字小于10的15次方。 我已经查看了维基百科的二...

11得票2回答
寻找质因数的差异

在使用Python的primefac模块时 - https://pypi.org/project/primefac/ 我注意到这段代码是有效的: import sys import primefac n = 600851475143 factors = list(primefac.prim...