Mathematica - 生成一个极限列表

时间:2012-08-05 04:38:08

标签: wolfram-mathematica

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

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]的索引。这可能吗?

3 个答案:

答案 0 :(得分:6)

例如

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

用法

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

Mathematica graphics

答案 1 :(得分:2)

我最喜欢的形式:

p = Prime ~Array~ PrimePi@# &;

p @ 20
  

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

答案 2 :(得分:0)

其中一种常见算法是Sieve of Eratosthenes。它是一种简单的算法,并且在任何语言中都相当容易实现。