login
a(0) = 0, and a(n) is the least positive integer not occurring earlier in the sequence such that a(n-1) and a(n) differ in only one bit when written in binary.
13

%I #19 Feb 02 2023 19:01:02

%S 0,1,3,2,6,4,5,7,15,11,9,8,10,14,12,13,29,21,17,16,18,19,23,22,20,28,

%T 24,25,27,26,30,31,63,47,39,35,33,32,34,38,36,37,45,41,40,42,43,59,51,

%U 49,48,50,54,52,53,55,119,87,71,67,65,64,66,70,68,69,77,73,72,74,75,79,78

%N a(0) = 0, and a(n) is the least positive integer not occurring earlier in the sequence such that a(n-1) and a(n) differ in only one bit when written in binary.

%C Step from a(488) = 237 = 11101101_2 to a(489) = 749 = 1011101101_2 is the first case when one term is two binary digits longer than the previous. Considering the leading zeros, though, they still differ in only one bit. - _Ivan Neretin_, Jun 25 2015

%H Paul Tek, <a href="/A163252/b163252.txt">Table of n, a(n) for n = 0..10000</a>

%F From _Alois P. Heinz_, Feb 02 2023: (Start)

%F A101080(a(n),a(n+1)) = 1.

%F a(A360307(n)) = n = A360307(a(n)). (End)

%p N:= 10: # to get all terms before the first where a(n) >= 2^N

%p B:= Array(0..2^N-1):

%p B[0]:= 1:

%p a[0]:= 0:

%p L:= Vector([0$N]):

%p for n from 1 do

%p cands:= select(t -> B[t[1]]=0, [seq(`if`(L[i]=0,[a[n-1]+2^(i-1),i],[a[n-1]-2^(i-1),i]),i=1..N)]);

%p if nops(cands)=0 then break fi;

%p j:= min[index](map(t->t[1],cands));

%p a[n]:= cands[j][1];

%p i:= cands[j][2];

%p B[a[n]]:= 1;

%p L[i]:= 1 - L[i];

%p od:

%p seq(a[i],i=0..n-1); # _Robert Israel_, Jun 25 2015

%t Nest[Append[#, Min[Complement[BitXor[#[[-1]], 2^Range[0, Floor[Log2[#[[-1]]]] + 2]], #]]] &, {0, 1}, 71] (* _Ivan Neretin_, Jun 25 2015 *)

%Y Cf. A003188, A101080, A360307 (inverse).

%K nonn,base

%O 0,3

%A _Keenan Pepper_, Jul 23 2009