cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A095115 a(1)=1. Given a(1),...,a(n-1), to find a(n), let S = {a(1), ..., a(n-1), |a(2)-a(1)|, ..., |a(n-1)-a(n-2)|}. Let d be the smallest positive integer not in S. Then a(n) is the smallest one of a(n-1)-d and a(n-1)+d which is a positive integer not in S union {d}.

Original entry on oeis.org

1, 3, 7, 12, 18, 10, 19, 30, 17, 31, 16, 36, 57, 35, 58, 34, 59, 33, 60, 32, 61, 98, 136, 97, 137, 96, 54
Offset: 1

Views

Author

Dean Hickerson, following a suggestion of Leroy Quet, May 28 2004

Keywords

Examples

			For n=5, S={1,3,7,12, 2,4,5} so d=6. a(4)-d=6 is in S union {6}, so we have a(5)=a(4)+d=18.
a(28) does not exist: d=43, but both a(28)-43=11 and a(28)+43=97 are in S union {43}.
		

Crossrefs

Cf. A005228.

Programs

  • Mathematica
    mex1[s_]:=Module[{n}, For[n=1, MemberQ[s, n], n++, Null]; n]; a[1]=1; a[n_]:=a[n]=Module[{as, d}, as=a/@Range[n-1]; as=Union[as, Abs[Drop[as, 1]-Drop[as, -1]]]; AppendTo[as, d=mex1[as]]; If[a[n-1]-d>0&&!MemberQ[as, a[n-1]-d], a[n-1]-d, If[ !MemberQ[as, a[n-1]+d], a[n-1]+d], False]]