login
A107778
a(1)=7, a(n) = smallest integer not previously used which contains a digit from a(n-1).
10
7, 17, 1, 10, 0, 20, 2, 12, 11, 13, 3, 23, 21, 14, 4, 24, 22, 25, 5, 15, 16, 6, 26, 27, 28, 8, 18, 19, 9, 29, 32, 30, 31, 33, 34, 35, 36, 37, 38, 39, 43, 40, 41, 42, 44, 45, 46, 47, 48, 49, 54, 50, 51, 52, 53, 55, 56, 57, 58, 59, 65, 60, 61, 62, 63, 64, 66, 67, 68, 69, 76, 70
OFFSET
1,1
COMMENTS
Cf. A107353 a(1)=0, A107772 a(1)=1, A107773 a(1)=2, A107774 a(1)=3, A107775 a(1)=4, A107776 a(1)=5, A107777 a(1)=6, A107779 a(1)=8, A107780 a(1)=9, A107781 a(1)=10
LINKS
FORMULA
From Robert Israel, Jul 09 2019: (Start)
For n >= 29, it appears that a(n) = n-1 except:
a(i*10^k+j) = i*10^k+j-2 if i=1 and 2<=j<=10, or 2<=i<=8 and 2<=j<=i.
a(i*10^k+1) = i*10^k+i-1 for 2<=i<=8 or i=10.
(End)
MAPLE
Agenda:= [$0..6, $8..100]: A[1]:= 7: S:= {7}:
for i from 2 do
found:= false;
for j from 1 to nops(Agenda) do
r:= Agenda[j];
Sr:= convert(convert(r, base, 10), set);
if Sr intersect S <> {} then
A[i]:= r;
Agenda:= subsop(j=NULL, Agenda);
S:= Sr;
found:= true;
break
fi
od;
if not found then break fi;
od:
seq(A[n], n=1..i-1); # Robert Israel, Jul 08 2019
MATHEMATICA
f[l_] := Block[{c = 0}, While[ MemberQ[l, c] || Intersection @@ IntegerDigits /@{Last[l], c}=={}, c++ ]; Return[Append[l, c]]]; Nest[f, {7}, 70] (* Ray Chandler, Jul 19 2005 *)
KEYWORD
base,nonn
AUTHOR
Eric Angelini & Zak Seidov, May 24 2005
STATUS
approved