|
|
A243052
|
|
Integer sequence induced by second order Bulgarian solitaire operation on partition list A241918: a(n) = A241909(A243072(A241909(n))).
|
|
6
|
|
|
1, 2, 4, 3, 8, 6, 16, 5, 9, 12, 32, 35, 64, 24, 18, 25, 128, 15, 256, 539, 36, 48, 512, 14, 27, 96, 25, 17303, 1024, 175, 2048, 125, 72, 192, 54, 21, 4096, 384, 144, 154, 8192, 3773, 16384, 485537, 245, 768, 32768, 70, 81, 45, 288, 26977283, 65536, 10, 108, 3146, 576, 1536, 131072
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
The usual Bulgarian Solitaire operation (the "first order" version, cf. A243051) applied to an unordered integer partition means: subtract one from each part, and add a new part as large as there were parts in the old partition.
The "Second Order Bulgarian Solitaire" operation means that after subtracting one from each part of the old partition (and discarding the parts that diminished to zero), we apply the (first order) Bulgarian operation to the remaining partition before adding a new part as large as there were parts in the original partition.
How the partitions are encoded in this case, please see A241918.
|
|
LINKS
|
|
|
FORMULA
|
|
|
PROG
|
(Scheme)
(define (A243052 n) (explist->n (ascpart_to_prime-exps (bulgarian-operation-n-th-order (prime-exps_to_ascpart (primefacs->explist n)) 2))))
(define (bulgarian-operation-n-th-order ascpart n) (if (or (zero? n) (null? ascpart)) ascpart (let ((newpart (length ascpart))) (let loop ((newpartition (list)) (ascpart ascpart)) (cond ((null? ascpart) (sort (cons newpart (bulgarian-operation-n-th-order newpartition (- n 1))) <)) (else (loop (if (= 1 (car ascpart)) newpartition (cons (- (car ascpart) 1) newpartition)) (cdr ascpart))))))))
;; Other required functions and libraries, please see A243051.
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|