Wolfram mathematica Mathematica——生成一个素数列表,其上限为

Wolfram mathematica Mathematica——生成一个素数列表,其上限为,wolfram-mathematica,Wolfram Mathematica,生成参数前的素数列表的最简单函数是什么?想出这样一个函数并不难,例如: foo[n_] := Block[{A = {}, p = 2}, While[p < n, A = Append[A, p]; p = NextPrime[p]]; A] 哪里???是nexttime[n,-1]的索引。这可能吗?这方面的常用算法之一是。它是一个简单的算法,并且很容易用任何语言实现。例如 f[x_] := Prime[Range@PrimePi@x] 用

生成参数前的素数列表的最简单函数是什么?想出这样一个函数并不难,例如:

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

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

这方面的常用算法之一是。它是一个简单的算法,并且很容易用任何语言实现。

例如

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

我最喜欢的表格:

p = Prime ~Array~ PrimePi@# &;

p @ 20
{2,3,5,7,11,13,17,19}


OP要求的不是算法,而是特定语言中的特定函数。此外,所讨论的语言已经有了所需的原语。回答前请看一下标签。谢谢。我缺少的部分(我称之为???,基本上是
Prime
)的倒数,是
PrimePi
,您可能有兴趣知道有一个。在Mathematica中编程时,最好检查
While
Do
Append
的所有用法。它们是其他语言的遗留问题,而且(如下面的答案所示)还有。
Grid[Table[{x, f[x]}, {x, 13, 20}], Frame -> All]
p = Prime ~Array~ PrimePi@# &;

p @ 20