Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #14 Nov 20 2019 02:30:47
%S 1,2,3,2,2,3,4,6,4,7,9,7,10,12,12,14,12,15,17,17,19,17,20,22,5,26,25,
%T 19,27,16,29,13,31,33,33,31,8,6,37,3,39,19,40,42,42,44,4,46,6,48,48,8,
%U 50,11,53,53,55,53,16,58,58,17,60,19,63,23,65,25,67,11,70,70,68,33,58,35,74
%N a(n) = |j - k|, where u(n) = u(j) + u(k) is the unique sum of Ulam numbers described in A002859 (with 1 <= j < k < n).
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/UlamSequence.html">Ulam Sequence</a>.
%H Wikipedia, <a href="http://en.wikipedia.org/wiki/Ulam_number">Ulam number</a>.
%e From _Petros Hadjicostas_, Nov 20 2019: (Start)
%e A002859(3) = 4 = 1 + 3 = A002859(1) + A002859(2), so a(3) = |1-2| = 1.
%e A002859(4) = 5 = 1 + 4 = A002859(1) + A002859(3), so a(4) = |1-3| = 2.
%e A002859(5) = 6 = 1 + 5 = A002859(1) + A002859(4), so a(5) = |1-4| = 3.
%e A002859(6) = 8 = 3 + 5 = A002859(2) + A002859(4), so a(6) = |2-4| = 2.
%e A002859(7) = 10 = 4 + 6 = A002859(3) + A002859(5), so a(7) = |3-5| = 2.
%e (End)
%p # First we modify _Peter Luschny_'s program from A002858 (with len >= 3):
%p UlamList := proc(len) local isUlam, nextUlam, behead; behead := u -> u[2 .. numelems(u)]; isUlam := proc(n, h, u, r) local hu, tu, hr, tr; hu := u[1]; hr := r[1]; if h = 2 then return false; end if; if hr <= hu then return evalb(h = 1); end if; if hr + hu = n then tu := behead(u); tr := behead(r); return isUlam(n, h + 1, tu, tr); end if; if hr + hu < n then tu := behead(u); return isUlam(n, h, tu, r); end if; tr := behead(r); isUlam(n, h, u, tr); end proc; nextUlam := proc(n, u, r) if isUlam(n, 0, u, r) then if nops(u) = len - 1 then return [op(u), n]; end if; nextUlam(n + 1, [op(u), n], [n, op(r)]); else nextUlam(n + 1, u, r); end if; end proc; nextUlam(3, [1, 3], [3, 1]); end proc:
%p # Next we create a function to calculate a(n) for given n >= 3:
%p a := proc(n) local u, a, i, j: u := 0: if 3 <= n then a := UlamList(n): for i to n - 2 do for j from i + 1 to n - 1 do if a[n] = a[i] + a[j] then u := abs(i-j): end if: end do: end do: end if: u: end proc:
%p # Finally, we create a list of values for a(n):
%p seq(a(n), n=3..100); # _Petros Hadjicostas_, Nov 20 2019
%Y Cf. A002858, A002859, A049821, A049877, A049878.
%K nonn
%O 3,2
%A _Clark Kimberling_
%E Name edited by and more terms from _Petros Hadjicostas_, Nov 20 2019