6

生成直到参数的素数列表的最简单函数是什么?想出这样的功能并不难,例如:

foo[n_] := Block[{A = {}, p = 2},
           While[p < n, A = Append[A, p]; p = NextPrime[p]];
           A]

但是,这似乎过于混乱。我想做类似的事情

foo[n_] := Table[Prime[i], {i,2,???}]

在哪里 ???是 的索引NextPrime[n,-1]。这可能吗?

4

3 回答 3

6

例如

f[x_] := Prime[Range@PrimePi@x]

用法

Grid[Table[{x, f[x]}, {x, 13, 20}], Frame -> All]

数学图形

于 2012-08-05T05:34:06.967 回答
2

我最喜欢的形式:

p = Prime ~Array~ PrimePi@# &;

p @ 20

{2、3、5、7、11、13、17、19}

于 2012-08-06T07:01:09.603 回答
0

一种常见的算法是埃拉托色尼筛法。这是一个简单的算法,并且在任何语言中都相当容易实现。

于 2012-08-05T04:49:38.457 回答