|
|
A036044
|
|
BCR(n): write in binary, complement, reverse.
|
|
29
|
|
|
1, 0, 2, 0, 6, 2, 4, 0, 14, 6, 10, 2, 12, 4, 8, 0, 30, 14, 22, 6, 26, 10, 18, 2, 28, 12, 20, 4, 24, 8, 16, 0, 62, 30, 46, 14, 54, 22, 38, 6, 58, 26, 42, 10, 50, 18, 34, 2, 60, 28, 44, 12, 52, 20, 36, 4, 56, 24, 40, 8, 48, 16, 32, 0, 126, 62, 94, 30, 110, 46, 78, 14, 118, 54, 86
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
a(0) could be considered to be 0 if the binary representation of zero were chosen to be the empty string. - Jason Kimberley, Sep 19 2011
Except for a(0) = 1, every term is even.
For each q >= 0, there is one and only one odd number h such that a(n) = 2*q iff n = h*2^m-1 for m >= 1 when q = 0, and for m >= 0 when q >= 1 (see A345401 and some examples below).
a(n) = 0 iff n = 2^m-1 for m >= 1 (Mersenne numbers) (A000225).
a(n) = 2 iff n = 3*2^m-1 for m >= 0 (A153893).
a(n) = 4 iff n = 7*2^m-1 for m >= 0 (A086224).
a(n) = 6 iff n = 5*2^m-1 for m >= 0 (A153894).
a(n) = 8 iff n = 15*2^m-1 for m >= 0 (A196305).
a(n) = 10 iff n = 11*2^m-1 for m >= 0 (A086225).
a(n) = 12 iff n = 13*2^m-1 for m >= 0 (A198274).
For k >= 1, a(n) = 2^k iff n = (2^(k+1)-1)*2^m - 1 for m >= 0.
Explanation for a(n) = 2:
For m >= 0, A153893(m) = 3*2^m-1 -> 1011...11 -> 0100...00 -> 10 -> 2 where 1011...11_2 is 10 followed by m 1's. (End)
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
4 -> 100 -> 011 -> 110 -> 6.
|
|
MAPLE
|
local bcr ;
if n = 0 then
return 1;
end if;
convert(n, base, 2) ;
bcr := [seq(1-i, i=%)] ;
add(op(-k, bcr)*2^(k-1), k=1..nops(bcr)) ;
end proc:
|
|
MATHEMATICA
|
dtn[ L_ ] := Fold[ 2#1+#2&, 0, L ]; f[ n_ ] := dtn[ Reverse[ 1-IntegerDigits[ n, 2 ] ] ]; Table[ f[ n ], {n, 0, 100} ]
Table[FromDigits[Reverse[IntegerDigits[n, 2]/.{1->0, 0->1}], 2], {n, 0, 80}] (* Harvey P. Dale, Mar 08 2015 *)
|
|
PROG
|
(Haskell)
import Data.List (unfoldr)
a036044 0 = 1
a036044 n = foldl (\v d -> 2 * v + d) 0 (unfoldr bc n) where
bc 0 = Nothing
bc x = Just (1 - m, x') where (x', m) = divMod x 2
(Magma) A036044:=func<n|n eq 0 select 1 else SequenceToInteger(Reverse([1-b:b in IntegerToSequence(n, 2)]), 2)>; // Jason Kimberley, Sep 19 2011
(Python)
def comp(s): z, o = ord('0'), ord('1'); return s.translate({z:o, o:z})
def BCR(n): return int(comp(bin(n)[2:])[::-1], 2)
(Python)
def A036044(n): return -int((s:=bin(n)[-1:1:-1]), 2)-1+2**len(s) # Chai Wah Wu, Feb 04 2022
|
|
CROSSREFS
|
Indices of terms 0, 2, 4, 6, 8, 10, 12, 14, 18, 22, 26, 30: A000225 \ {0}, A153893, A086224, A153894, A196305, A086225, A198274, A052996\{1,3}, A291557, A198276, A171389, A198275.
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|