cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A078840 Table of n-almost-primes T(n,k) (n >= 0, k > 0), read by antidiagonals, starting at T(0,1)=1 followed by T(1,1)=2.

Original entry on oeis.org

1, 2, 3, 4, 5, 6, 8, 7, 9, 12, 16, 11, 10, 18, 24, 32, 13, 14, 20, 36, 48, 64, 17, 15, 27, 40, 72, 96, 128, 19, 21, 28, 54, 80, 144, 192, 256, 23, 22, 30, 56, 108, 160, 288, 384, 512, 29, 25, 42, 60, 112, 216, 320, 576, 768, 1024, 31, 26, 44, 81, 120, 224, 432, 640, 1152
Offset: 0

Views

Author

Benoit Cloitre and Paul D. Hanna, Dec 10 2002

Keywords

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)
(A001222 gives this sequence)
A001221 gives another 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
Antidiagonals begin with A000961 and end with A002110.
Diagonal is A073329 which is last term in n-th row of A048692. (End)

Examples

			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 ...
		

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.

Programs

  • 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 *)
  • PARI
    T(n,k)=if(k<0,0,s=1; while(sum(i=1,s,if(bigomega(i)-n,0,1))
    				
  • Python
    from math import prod, isqrt
    from sympy import primerange, integer_nthroot, primepi, prime
    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

Extensions

Edited by Robert G. Wilson v, Feb 11 2006