

A225639


a(n) is the index of the first row in column n of A225640 where A226055(n) occurs.


8



0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 2, 2, 1, 4, 4, 3, 2, 4, 2, 4, 5, 2, 2, 5, 5, 6, 6, 4, 2, 8, 4, 7, 6, 8, 6, 6, 4, 9, 6, 9, 3, 4, 3, 8, 7, 7, 3, 9, 9, 10, 8, 8, 3, 10, 10, 10, 9, 10, 4, 7, 4, 12, 12, 11, 12, 9, 5, 10, 12, 9, 6, 6, 6, 13, 12, 12, 12, 13, 6, 14, 13
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

0,12


COMMENTS

Consider an algorithm which finds a maximal value lcm(p1,p2,...,pk,prevmax) among all partitions {p1+p2+...+pk} of n, where the "seed number" prevmax is a maximal value from the previous iteration.
a(n) gives the number of such iterations needed when starting from the initial seed value n, for the process to reach the first identical value (A226055(n)) that is eventually produced when the same algorithm is started with the initial seed value of 1.
The records occur at positions 0, 5, 11, 14, 21, 26, 30, 38, 50, 62, 74, 80, ...


LINKS

Table of n, a(n) for n=0..81.


FORMULA

a(n) = A225638(n)  A225654(n) = A225644(n)  A226056(n). (But please see the given Schemeprogram for how this sequence can actually be computed.)
A226055(n) = A225640(a(n),k) = A225630(A225638(n),k).


EXAMPLE

Looking at A225632 and A225642, which are just arrays A225630 and A225640 transposed and eventually repeating values removed, we see that:
row 11 of A225632 is 1, 30, 420, 4620, 13860, 27720;
row 11 of A225642 is 11, 330, 4620, 13860, 27720;
their first common term, 4620 (= A226055(11)), occurs as two positions after the initial 11 of that row in A225642, thus a(11)=2.
Equivalently, 4620 occurs as the element A(2,11) of array A225640.


PROG

(Scheme):
(define (A225639 n) (if (zero? n) n (let ((fun1 (lambda (seed) (let ((max1 (list 0))) (fold_over_partitions_of n 1 lcm (lambda (p) (setcar! max1 (max (car max1) (lcm seed p))))) (car max1)))) (fun2 (lambda (seed) (let ((max2 (list 0))) (fold_over_partitions_of n (max 1 n) lcm (lambda (p) (setcar! max2 (max (car max2) (lcm seed p))))) (car max2))))) (stepstoconvergencenondecreasing fun2 fun1 n 1))))
(define (fold_over_partitions_of m initval addpartfun colfun) (let recurse ((m m) (b m) (n 0) (partition initval)) (cond ((zero? m) (colfun partition)) (else (let loop ((i 1)) (recurse ( m i) i (+ 1 n) (addpartfun i partition)) (if (< i (min b m)) (loop (+ 1 i))))))))
(define (stepstoconvergencenondecreasing fun1 fun2 initval1 initval2) (let loop ((steps 0) (a1 initval1) (a2 initval2)) (cond ((equal? a1 a2) steps) ((< a1 a2) (loop (+ steps 1) (fun1 a1) a2)) (else (loop steps a1 (fun2 a2))))))


CROSSREFS

Sequence in context: A104040 A332601 A182222 * A110664 A193922 A319534
Adjacent sequences: A225636 A225637 A225638 * A225640 A225641 A225642


KEYWORD

nonn


AUTHOR

Antti Karttunen, May 21 2013


STATUS

approved



