0

我需要计算从 1 到 N 的素数。为此,我想将每个下一个数字 n 除以 2 到 sqrt(n) 范围内的素数。为此,我需要存储所有以前收集的素数。

我怎样才能有效地存储它们?

以防万一,我对查找素数的算法不感兴趣,我对如何存储此类数据感兴趣。在 C++ 中,我可以使用 std::vector 因为它适当地重新分配自己,或者可能是某种列表。

4

1 回答 1

2

在 PARI/GP 中,对于高效的动态数组,您可以使用List. 它的行为类似于std::vectorC++ 中的。请看下面的例子:

xs = List()
gp> List([])

listput(xs, 1);
listput(xs, 2);

xs
gp> List([1, 2])
于 2016-10-07T10:56:24.703 回答