|
|
A339451
|
|
Gray-code-like sequence in which, at each step, the least significant bit that has never been toggled from the previous value, is toggled.
|
|
1
|
|
|
0, 1, 0, 2, 3, 2, 0, 4, 5, 4, 6, 7, 6, 4, 0, 8, 9, 8, 10, 11, 10, 8, 12, 13, 12, 14, 15, 14, 12, 8, 0, 16, 17, 16, 18, 19, 18, 16, 20, 21, 20, 22, 23, 22, 20, 16, 24, 25, 24, 26, 27, 26, 24, 28, 29, 28, 30, 31, 30, 28, 24, 16, 0, 32, 33, 32, 34, 35, 34, 32, 36
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,4
|
|
COMMENTS
|
Conjectured connections: the position of the bit that is toggled to derive a(n) from a(n-1) is A215020(n); the sequence of absolute differences of this sequence is A182105; there is some underlying connection to the "skew binary" counting system.
|
|
LINKS
|
|
|
EXAMPLE
|
For n = 18, a(n-1) = 8. That is the second 8 in the sequence. We cannot toggle the 1-bit, because that was already used to derive a(16) = 9 from a(15) = 8, so instead we toggle the 2-bit, yielding a(n) = 10.
|
|
MAPLE
|
a:= proc() local b, a; b:= proc() 1/2 end; a:= proc(n)
option remember; local h; if n=0 then 0 else h:=
a(n-1); b(h):= 2*b(h); Bits[Xor](h, b(h)) fi end
end():
|
|
MATHEMATICA
|
a[m_] := Module[{b, a}, b[_] = 1/2; a[n_] := a[n] =
Module[{h}, If[n == 0 , 0 , h = a[n - 1];
b[h] = 2*b[h]; BitXor[h, b[h]]]]; a[m]];
|
|
CROSSREFS
|
|
|
KEYWORD
|
easy,nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|