9得票5回答
使用GMP高效地分解大数

我需要获取所有大于1k位的数字的质因数。这些数字几乎是随机的,所以应该不难。我用C++和GMP库。如何高效地完成这个任务? 编辑:我想你们都误解了我的意思。我所说的质因数是指得到数字的所有质因数。很抱歉我的英语有问题,在我的语言中,prime和factor是一样的。 澄清(来自OP的其他帖...

23得票8回答
高效存储质数

为了一个库,我需要存储小于限制值L的所有质数。这个集合必须具有O(1)的查找时间(用于检查一个数字是否是质数),并且在给定一个数字时,必须很容易地找到下一个质数(假设它比L小)。 考虑到L是固定的,使用Eratostene筛选法生成列表就可以了。目前,我使用一个紧凑的布尔数组来存储列表,该数...

7得票12回答
查找质因数

#include <iostream> using namespace std; void whosprime(long long x) { bool imPrime = true; for(int i = 1; i <= x; i++) { ...

16得票4回答
如何根据质因数生成数字,但是指数未知?

可能重复: 第n个丑数 找出表达式(2^x)*(3^y)*(5^z)的第k小的数 我想知道如何以快速优雅的方式解决这个问题: 我们定义“丑数”为任何可以写成形式:2^x * 3^y * 5^z 的数字 n,其中 x、y 和 z 均为自然数。请找出第 1500 ...

9得票1回答
量子态分解

我正在寻找可以处理由位组成的加权经典状态求和形式的任意量子态的算法,例如下面这个形式: |0000>/2 - |0011>/2 + |0100>/2 - |0111>/2 并使用张量积将其转化为更紧凑的形式,如下所示: |0> x (|0> + |1...

17得票3回答
为什么这段 Haskell 代码片段不会无限递归?

为了学习Haskell,我正在解决Project Euler上的问题。解决每个问题后,我会检查我的解决方案,以尝试学习更好的编码实践。这里是问题3的解决方案: 解决方案 和 问题描述。primes = 2 : filter ((==1) . length . primeFactors) [3,...

8得票2回答
R算法:生成一个数字的所有可能因式分解

例如,考虑数字96。它可以用以下方式写出: 1. 96 2. 48 * 2 3. 24 * 2 * 2 4. 12 * 2 * 2 * 2 5. 6 * 2 * 2 * 2 * 2 6. 3 * 2 * 2 * 2 * 2 * 2 7. 4 * 3 * 2 * 2 * 2 8. 8 * 3 ...

8得票7回答
Java显示一个数的质因数分解

我的任务是编写一个程序,要求用户输入一个整数,然后打印出该数字的质因数分解。 import java.util.Scanner; public class PrimeFactor { public static void main(String[] args) { ...

19得票3回答
Linux中factor命令背后的算法是什么?

factor命令可打印指定整数数字的质因数。 我尝试使用它时,factor 12345678912345678912 即使对于如此大的数字,结果也在毫秒内得出。它使用的是哪个算法?

26得票2回答
根据一个数的质因数分解,生成所有因子。

如果你已经得到一个数的质因数分解,那么获取该数所有因数的最简单方法是什么?我知道可以从2循环到sqrt(n)来找到所有可被整除的数字,但既然我们已经有了质因数分解,这种方法似乎效率不高。 我想它基本上是组合/选择函数的修改版本,但我能找到的都只是计算组合数量的方法和计算因数数量的方法,而不是...