OFFSET
0,2
COMMENTS
An n-almost-prime is a positive integer that has exactly n prime factors.
This sequence is a rearrangement of the natural numbers. - Robert G. Wilson v, Feb 11 2006.
Each antidiagonal begins with the n-th prime and ends with 2^n.
From Eric Desbiaux, Jun 27 2009: (Start)
A001221 gives the Table:
1
- 2 3 4 5 7 8 9 11 ... A000961
- 6 10 12 14 15 18 20 21 ... A007774
- 30 42 60 66 70 78 84 90 ... A033992
- 210 330 390 420 462 510 546 570 ... A033993
- 2310 2730 3570 3990 4290 4620 4830 5460 ... A051270
(End)
LINKS
Robert G. Wilson v, Table of n, a(n) for n = 0..10011 (corrected by Ivan Neretin).
Eric Weisstein's World of Mathematics, Almost Prime.
EXAMPLE
Table begins:
1
- 2 3 5 7 11 13 17 19 23 29 ...
- 4 6 9 10 14 15 21 22 25 26 ...
- 8 12 18 20 27 28 30 42 44 45 ...
- 16 24 36 40 54 56 60 81 84 88 ...
- 32 48 72 80 108 112 120 162 168 176 ...
- 64 96 144 160 216 224 240 324 336 352 ...
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, Feb 07 2006 *)
AlmostPrime[k_, n_] := Block[{e = Floor[Log[2, n]+k], 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]; Table[ AlmostPrime[k, n - k + 1], {n, 11}, {k, n}] // Flatten (* Robert G. Wilson v *)
mx = 11; arr = NestList[Take[Union@Flatten@Outer[Times, #, primes], mx] &, primes = Prime@Range@mx, mx]; Prepend[Flatten@Table[arr[[k, n - k + 1]], {n, mx}, {k, n}], 1] (* Ivan Neretin, Apr 30 2016 *)
(* The next code skips the initial 1. *)
width = 15; (seq = Table[
Rest[NestList[1 + NestWhile[# + 1 &, #, ! PrimeOmega[#] == z &] &,
2^z, width - z + 1]] - 1, {z, width}]) // TableForm
Flatten[Map[Reverse[Diagonal[Reverse[seq], -width + #]] &, Range[width]]]
(* Peter J. C. Moses, Jun 05 2019 *)
Grid[Table[Select[Range[200], PrimeOmega[#] == n &], {n, 0, 7}]]
(* Clark Kimberling, Nov 17 2024 *)
PROG
(PARI) T(n, k)=if(k<0, 0, s=1; while(sum(i=1, s, if(bigomega(i)-n, 0, 1))<k, s++); s)
(Python)
from math import prod, isqrt
from sympy import primerange, integer_nthroot, primepi
def A078840_T(n, k):
if n == 1: return prime(k)
def g(x, a, b, c, m): yield from (((d, ) for d in enumerate(primerange(b, isqrt(x//c)+1), a)) if m==2 else (((a2, b2), )+d for a2, b2 in enumerate(primerange(b, integer_nthroot(x//c, m)[0]+1), a) for d in g(x, a2, b2, c*b2, m-1)))
def f(x): return int(k-1+x-sum(primepi(x//prod(c[1] for c in a))-a[-1][0] for a in g(x, 0, 1, 1, n)))
kmin, kmax = 1, 2
while f(kmax) >= kmax:
kmax <<= 1
while True:
kmid = kmax+kmin>>1
if f(kmid) < kmid:
kmax = kmid
else:
kmin = kmid
if kmax-kmin <= 1:
break
return kmax # Chai Wah Wu, Aug 23 2024
CROSSREFS
T(1, k)=A000040(k), T(2, k)=A001358(k), T(3, k)=A014612(k), T(4, k)=A014613(k), T(5, k)=A014614(k), T(6, k)=A046306(k), T(7, k)=A046308(k), T(8, k)=A046310(k), T(9, k)=A046312(k), T(10, k)=A046314(k).
T(11, k)=A069272(k), T(12, k)=A069273(k), T(13, k)=A069274(k), T(14, k)=A069275(k), T(15, k)=A069276(k), T(16, k)=A069277(k), T(17, k)=A069278(k), T(18, k)=A069279(k), T(19, k)=A069280(k), T(20, k)=A069281(k).
T(k, 1)=A000079(k), T(k, 2)=A007283(k), T(k, 3)=A116453(k), T(k, k)=A101695(k), T(k, k+1)=A078841(k).
A091538 is this sequence with zeros inserted, making a square array.
KEYWORD
AUTHOR
Benoit Cloitre and Paul D. Hanna, Dec 10 2002
EXTENSIONS
Edited by Robert G. Wilson v, Feb 11 2006
STATUS
approved