login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A228099 Triangle read by rows, T(n, k) = prime(1)^p(k,1)*...*prime(n)^p(k,n) where p(k,j) is the j-th part of the k-th partition of n, additionally T(0,0) = 1. The partitions of n are ordered such that partitions of n into r parts appear in lexicographic order previous to the partitions of n into s parts if s < r. (Fenner-Loizou tree). 1
1, 2, 6, 4, 30, 12, 8, 210, 60, 36, 24, 16, 2310, 420, 180, 120, 72, 48, 32, 30030, 4620, 1260, 840, 900, 360, 240, 216, 144, 96, 64, 510510, 60060, 13860, 9240, 6300, 2520, 1680, 1800, 1080, 720, 480, 432, 288, 192, 128, 9699690, 1021020, 180180, 120120 (list; graph; refs; listen; history; text; internal format)
OFFSET
0,2
COMMENTS
The partitions' representation (A228100) is a weakly decreasing list of parts.
The rows (read from left to right) are strongly decreasing. The T(n, 0) are the primorial numbers A002110(n). The right side of the triangle are the powers of 2,
T(n, A000041(n)) = A000079(n). The row sums are A074140.
The partition corresponding to a(n), n > 0, can be recovered as the exponents of the primes in the canonical prime factorization of a(n).
REFERENCES
D. E. Knuth: The Art of Computer Programming. Generating all combinations and partitions, vol. 4, fasc. 3, 7.2.1.4, exercise 10.
LINKS
T. I. Fenner, G. Loizou, A binary tree representation and related algorithms for generating integer partitions, The Computer J. 23(4), 332-337 (1980).
EXAMPLE
The six-th row is:
[1, 1, 1, 1, 1, 1] -> 30030
[2, 1, 1, 1, 1] -> 4620
[2, 2, 1, 1] -> 1260
[3, 1, 1, 1] -> 840
[2, 2, 2] -> 900
[3, 2, 1] -> 360
[4, 1, 1] -> 240
[3, 3] -> 216
[4, 2] -> 144
[5, 1] -> 96
[6] -> 64
MAPLE
b:= proc(n, i) b(n, i):= `if`(n=0 or i=1, [[1$n]], [b(n, i-1)[],
`if`(i>n, [], map(x-> [i, x[]], b(n-i, i)))[]])
end:
T:= n-> map(h-> mul(ithprime(j)^h[j], j=1..nops(h)), sort(b(n$2),
proc(x, y) local i; if nops(x)<>nops(y) then return
nops(x)>nops(y) else for i to nops(x) do if x[i]<>y[i]
then return x[i]<y[i] fi od fi end))[]:
seq(T(n), n=0..8); # Alois P. Heinz, Aug 13 2013
MATHEMATICA
b[n_, i_] := If[n == 0 || i == 1, {Array[1&, n]}, Join[b[n, i-1], If[i>n, {}, Map[Function[x, Prepend[x, i]], b[n-i, i]]]]]; T[n_] := Map[Function[h, Times @@ ((Prime /@ Range[Length[h]])^h)], Sort[b[n, n], Which[Length[#1] > Length[#2], True, Length[#1] < Length[#2], False, True, OrderedQ[#1, #2]]&]]; Table[T[n], {n, 0, 8}] // Flatten (* Jean-François Alcover, Jan 27 2014, after Maple *)
PROG
(Sage)
from collections import deque
def Partitions_Fenner_Loizou(n):
p = ([], 0, n)
queue = deque()
queue.append(p)
yield p
while len(queue) > 0 :
(phead, pheadLen, pnum1s) = queue.popleft()
if pnum1s != 1 :
head = phead[:pheadLen] + [2]
q = (head, pheadLen + 1, pnum1s - 2)
if 1 <= q[2] : queue.append(q)
yield q
if pheadLen == 1 or (pheadLen > 1 and \
(phead[pheadLen - 1] != phead[pheadLen - 2])) :
head = phead[:pheadLen]
head[pheadLen - 1] += 1
q = (head, pheadLen, pnum1s - 1)
if 1 <= q[2] : queue.append(q)
yield q
def A228099_row(n):
if n == 0: return [1]
L = []
P = primes_first_n(n)
for p in Partitions_Fenner_Loizou(n):
e = p[0] + [1 for i in range(p[2])]
c = mul(P[i]^e[i] for i in range(len(e)))
L.append(c)
return L
for n in (0..7): A228099_row(n)
CROSSREFS
Cf. A228100.
Sequence in context: A073039 A322792 A253588 * A227955 A324922 A329886
KEYWORD
nonn,tabf,look
AUTHOR
Peter Luschny, Aug 10 2013
STATUS
approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 25 01:35 EDT 2024. Contains 371964 sequences. (Running on oeis4.)