%I #12 Sep 15 2018 02:04:40
%S 0,1,1,4,4,2,2,3,3,3,3,3,3,7,5,7,7,4,4,4,4,4,4,4,4,7,5,5,5,11,11,11,
%T 11,11,11,5,11,5,5,5,5,5,5,5,5,7,7,7,7,7,7,7,7,11,11,11,6,6,11,9,9,6,
%U 6,11,8,8,8,6,8,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
%N Height of steps in Recamán's sequence A064389.
%e The heights to reach 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9, 24 in A064389 are b(1,2,3,...) = 0, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5 etc., as defined by b(n) = b(n-1) + sign(A064389(n) - A064389(n-1)).
%e Reshuffling sequence b while sorting A064489 into A078758 produces sequence a here, a(n) = b(A078758(n)).
%p A064389 := proc(nmax) local a,n,adiff,newa ; a := [1] ; for n from 2 to nmax do adiff := n ; while true do newa := op(-1,a)-adiff ; if newa >0 and not newa in a then a := [op(a),newa] ; break ; fi ; newa := op(-1,a)+adiff ; if newa >0 and not newa in a then a := [op(a),newa] ; break ; fi ; adiff := adiff+1 ; od ; od ; RETURN(a) ; end: A064389b := proc(a) local n,hei ; hei := [0] ; for n from 2 to nops(a) do hei := [op(hei),op(-1,hei)+sign(op(n,a)-op(n-1,a))] ; od ; RETURN(hei) ; end: inList := proc(list,n) local i ; for i from 1 to nops(list) do if op(i,list) = n then RETURN(i) ; fi ; od ; RETURN(-1) ; end: A078758 := proc(a064389) local a,n,i ; a := [] ; n :=1 ; while true do i := inList(a064389,n) ; if i < 0 then RETURN(a) ; else a := [op(a),i] ; n := n+1 ; fi ; od ; end: nmax := 1800 : a064389 := A064389(nmax) : a078758 := A078758(a064389) : b := A064389b(a064389) : for n from 1 to nops(a078758) do printf("%d, ",op(op(n,a078758),b)) ; od;
%Y Cf. A064389, A078758.
%K easy,nonn
%O 1,4
%A _R. J. Mathar_, Feb 12 2007