|
EXAMPLE
|
a(0)=1, a(1) is the first prime 2, a(2) is the second semiprime 6, a(3) is the sixth 3-almost prime 28, etc.
|
|
MATHEMATICA
|
AlmostPrimePi[k_Integer, n_] := Module[{a, i}, a[0] = 1; If[k == 1, PrimePi[n], Sum[PrimePi[n/Times @@ Prime[Array[a, k - 1]]] - a[k - 1] + 1, Evaluate[ Sequence @@ Table[{a[i], a[i - 1], PrimePi[(n/Times @@ Prime[Array[a, i - 1]])^(1/(k - i + 1))]}, {i, k - 1}]]]]]; (* Eric W.Weisstein (eww(AT)wolfram.com) Feb 07 2006 *)
AlmostPrime[k_Integer, n] = Block[{e = Floor[ Log[2, n] + 1], a, b}, a = 2^e; Do[b = 2^p; While[AlmostPrimePi[k, a] < n, a = a + b]; a = a - b/2, {p, e, 0, -1}]; a + b/2];
|