

A064389


Variation (4) on Recamán's sequence (A005132): to get a(n), we first try to subtract n from a(n1): a(n) = a(n1)  n if positive and not already in the sequence; if not then we try to add n: a(n) = a(n1) + n if not already in the sequence; if this fails we try to subtract n+1 from a(n1), or to add n+1 to a(n1), or to subtract n+2, or to add n+2, etc., until one of these produces a positive number not already in the sequence  this is a(n).


11



1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9, 24, 8, 25, 43, 62, 42, 63, 41, 18, 44, 19, 45, 72, 100, 71, 101, 70, 38, 5, 39, 4, 40, 77, 115, 76, 36, 78, 120, 163, 119, 74, 28, 75, 27, 79, 29, 80, 132, 185, 131, 186, 130, 73, 15, 81, 141, 202
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,2


COMMENTS

This is the nicest of these variations. Is this a permutation of the natural numbers?
The number of steps before n appears is the inverse series, A078758. The height of n is in A126712.
See A078758 for the inverse permutation (in case this is a permutation of the positive integers).  M. F. Hasler, Nov 03 2014
After 10^12 terms, the smallest number which has not appeared is 5191516.  Benjamin Chaffin, Oct 09 2016


REFERENCES

Suggested by J. C. Lagarias.


LINKS

Nick Hobson, Table of n, a(n) for n = 1..10000
Nick Hobson, Python program for this sequence
Index entries for sequences related to Recamán's sequence
Index entries for sequences that are permutations of the natural numbers


MAPLE

h := array(1..100000); maxt := 100000; a := array(1..1000); a[1] := 1; h[1] := 1; for nx from 2 to 1000 do for i from 0 to 100 do t1 := a[nx1]nxi; if t1>0 and h[t1] <> 1 then a[nx] := t1; if t1 < maxt then h[t1] := 1; fi; break; fi; t1 := a[nx1]+nx+i; if h[t1] <> 1 then a[nx] := t1; if t1 < maxt then h[t1] := 1; fi; break; fi; od; od; evalm(a);


MATHEMATICA

h[1] = 1; h[_] = 0; maxt = 100000; a[1] = 1; a[_] = 0; For[nx = 2, nx <= 1000, nx++, For[i = 0, i <= 100, i++, t1 = a[nx  1]  nx  i; If[t1 > 0 && h[t1] != 1, a[nx] = t1; If[t1 < maxt, h[t1] = 1]; Break[]]; t1 = a[nx  1] + nx + i; If[h[t1] != 1, a[nx] = t1; If[t1 < maxt, h[t1] = 1]; Break[]]]]; Table[a[n], {n, 1, 100}](* JeanFrançois Alcover, May 09 2012, after Maple *)


PROG

(PARI) A064389(n=1000, show=0)={ my(k, s, t); for(n=1, n, k=n; while( !(t>k && !bittest(s, tk) && t=k) && !(!bittest(s, t+k) && t+=k), k++); s=bitor(s, 1<<t); show&&print1(t", ")); t} \\ M. F. Hasler, Nov 03 2014


CROSSREFS

Cf. A005132, A046901, A064387, A064388. Agrees with A064387 for first 187 terms, then diverges.
Sequence in context: A005132 A064388 A064387 * A118201 A274647 A113880
Adjacent sequences: A064386 A064387 A064388 * A064390 A064391 A064392


KEYWORD

nonn,easy,look,nice


AUTHOR

N. J. A. Sloane, Sep 28 2001


STATUS

approved



