

A298208


a(n) is the smallest positive integer not yet in the sequence that shares a digit with a(n2) and shares no digit with a(n1); a(1) = 0, a(2) = 1.


1



0, 1, 20, 11, 2, 10, 22, 13, 24, 3, 4, 23, 14, 25, 16, 5, 6, 15, 26, 17, 28, 7, 8, 27, 18, 29, 31, 9, 12, 39, 21, 30, 19, 32, 41, 33, 40, 35, 42, 36, 44, 37, 45, 38, 46, 53, 47, 50, 34, 51, 43, 52, 48, 55, 49, 56, 74, 58, 64, 57, 60, 54, 61, 59, 62, 75, 63, 70
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,3


COMMENTS

Initial fixed points are 47, 52, 56, 58, 72, 81, 94, 101, 13661, 13663.  Corrected and extended by Robert Israel, Feb 09 2018
Inverse: 0, 1, 4, 9, 10, 15, 16, 21, 22, 27, 5, 3, 28, 7, 12, 17, 14, 19, 24, 32, 2, 30, 6, 11, 8, 13, 18, 23, 20, 25, 31, ..., .  Robert G. Wilson v, Feb 09 2018


LINKS



MAPLE

N:= 1000: # to get all terms before the first term > N
a[1] := 0: a[2] := 1: first := 2:
Next := Array(2 .. N, i > i+1):
Prev := Array(2 .. N, i > i1): Prev[2] := 0:
for n from 0 to N do
digs[n] := convert(convert(n, base, 10), set)
od:
for n from 3 do
D1 := digs[a[n1]];
D2 := digs[a[n2]];
t := first;
while digs[t] intersect D2 = {} or digs[t] intersect D1 <> {} do
t := Next[t];
if t > N then break fi
od;
if t > N then break fi;
a[n] := t;
if Prev[t] = 0 then first := Next[t] else Next[Prev[t]] := Next[t] fi; if Next[t] <= N then Prev[Next[t]] := Prev[t] fi
od:


MATHEMATICA

f[s_List] := Block[{a = Union@ IntegerDigits@ s[[2]], b = Union@ IntegerDigits@ s[[1]], k = 2}, While[id = Union@ IntegerDigits@ k; MemberQ[s, k]  Intersection[a, id] == {}  Intersection[b, id] != {}, k++]; Append[s, k]]; Nest[f, {0, 1}, 66] (* Robert G. Wilson v, Feb 09 2018 *)


CROSSREFS

Cf. A107353 (where each term must share a digit with the preceding term).


KEYWORD



AUTHOR



STATUS

approved



