2016-10-06 9 views
0

1からNまでの素数の数を計算する必要があります。このためには、範囲2からsqrt(n)までの素数について、次の各数nを割ります。このために、私は以前に収集されたすべての素数を保存する必要があります。GP/PARIの動的配列

どうすれば効果的に保存できますか?

私は素数の数を求めるアルゴリズムが面白くないので、私はこのような種類のデータを一般的にどのように格納するのか興味があります。 C++では、std :: vectorを適切に再割り当てするか、リストのようなものを使用することができます。

答えて

2

PARI/GPでは、効率的なダイナミックアレイでは、Listを使用できます。それはC++のstd::vectorのように振る舞います。 下記の例をご覧ください:

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

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

xs 
gp> List([1, 2]) 
+0

@Yola:この回答を受け入れるか、何か明確な説明が必要ですか? –

+0

ありがとうございます。あなたはそれがメモリの観点からどのように挙動するか知っていますか? – Yola