%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