%I #9 Nov 02 2014 12:18:37
%S 1,2,4,3,8,6,16,5,9,12,32,35,64,24,18,25,128,15,256,539,36,48,512,14,
%T 27,96,25,17303,1024,175,2048,125,72,192,54,21,4096,384,144,154,8192,
%U 3773,16384,485537,245,768,32768,70,81,45,288,26977283,65536,10,108,3146,576,1536,131072
%N Integer sequence induced by second order Bulgarian solitaire operation on partition list A241918: a(n) = A241909(A243072(A241909(n))).
%C 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.
%C 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.
%C How the partitions are encoded in this case, please see A241918.
%H Antti Karttunen, <a href="/A243052/b243052.txt">Table of n, a(n) for n = 1..512</a>
%F a(n) = A241909(A243072(A241909(n))).
%o (Scheme)
%o (define (A243052 n) (explist->n (ascpart_to_prime-exps (bulgarian-operation-n-th-order (prime-exps_to_ascpart (primefacs->explist n)) 2))))
%o (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))))))))
%o ;; Other required functions and libraries, please see A243051.
%Y Second row of A243060.
%Y Cf. A243051, A243053, A241918, A241909, A243072.
%K nonn
%O 1,2
%A _Antti Karttunen_, May 29 2014