A140778 a(n) is the smallest positive integer such that no number occurs twice in the union of the sequence and its absolute first differences.
1, 3, 7, 12, 18, 8, 17, 28, 13, 27, 43, 19, 39, 60, 22, 45, 70, 26, 55, 85, 31, 63, 96, 34, 69, 105, 37, 77, 118, 42, 88, 135, 48, 97, 147, 52, 103, 156, 56, 113, 171, 59, 120, 184, 65, 131, 198, 71, 143, 216, 74, 149, 227, 79, 159, 240, 82, 165, 249, 86, 175, 265, 91, 183
Offset: 1
Examples
For a(5), the sequence to that point is [1,3,7,12], with absolute differences [2,4,5]. The next number cannot be 6, because then 6 would be in both the sequence and the first differences. Since all values smaller than 6 are taken, the difference must be positive and at least 6. A difference of 6 works, a(5) = 18.
Links
- Alois P. Heinz, Table of n, a(n) for n = 1..10000
Crossrefs
Programs
-
Maple
b:= proc() false end: a:= proc(n) option remember; local k; if n=1 then b(1):= true; 1 else for k while b(k) or (t-> b(t) or t=k)(abs(a(n-1)-k)) do od; b(k), b(abs(a(n-1)-k)):= true$2; k fi end: seq(a(n), n=1..100); # Alois P. Heinz, May 14 2015
-
Mathematica
a[n_] := a[n] = Module[{}, If [n == 1, b[1] = True; 1, For[k = 1, b[k] || Function[t, b[t] || t == k][Abs[a[n-1] - k]], k++]; {b[k], b[Abs[a[n-1] - k]]} = {True, True}; k]]; Table[a[n], {n, 1, 100}] (* Jean-François Alcover, Jan 22 2017, after Alois P. Heinz *)
-
PARI
IsInList(v, k) = for(i=1,#v,if(v[i]==k,return(1)));return(0) IsInDiff(v, k) = for(i=2,#v,if(abs(v[i]-v[i-1])==k,return(1)));return(0) NextA140778(v)={ local(i,d); if(#v==0,return(1)); i=2; while(1, d=abs(i-v[ #v]); if(!(i==d || IsInList(v,i) || IsInDiff(v,i) || IsInList(v,d) || IsInDiff(v,d)), return(i)); i++) } v=[];for(i=1,100,v=concat(v,NextA140778(v)));v
-
PARI
{u=0;a=1;for(n=1,99,u+=1<M. F. Hasler, May 13 2015
Comments