login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

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
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
From Bernard Schott, Jun 15 2021: (Start)
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
Indranil Ghosh, Table of n, a(n) for n = 0..10000 (first 1024 terms from T. D. Noe)
FORMULA
a(2n) = 2*A059894(n), a(2n+1) = a(2n) - 2^floor(log_2(n)+1). - Ralf Stephan, Aug 21 2003
Conjecture: a(n) = (-1)^A023416(n)*b(n) for n > 0 with a(0) = 1 where b(2^m) = (-1)^m*(2^(m+1) - 2) for m >= 0, b(2n+1) = b(n) for n > 0, b(2n) = b(n) + b(n - 2^f(n)) + b(2n - 2^f(n)) for n > 0 and where f(n) = A007814(n) (see A329369). - Mikhail Kurkov, Dec 13 2024
EXAMPLE
4 -> 100 -> 011 -> 110 -> 6.
MAPLE
A036044 := proc(n)
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:
seq(A036044(n), n=0..200) ; # R. J. Mathar, Nov 06 2017
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
-- Reinhard Zumkeller, Sep 16 2011
(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
(PARI) a(n)=fromdigits(Vecrev(apply(n->1-n, binary(n))), 2) \\ Charles R Greathouse IV, Apr 22 2015
(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)
print([BCR(n) for n in range(75)]) # Michael S. Branicky, Jun 14 2021
(Python)
def A036044(n): return -int((s:=bin(n)[-1:1:-1]), 2)-1+2**len(s) # Chai Wah Wu, Feb 04 2022
CROSSREFS
Cf. A035928 (fixed points), A195063, A195064, A195065, A195066.
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.
Sequence in context: A277681 A140876 A243997 * A335790 A078991 A346790
KEYWORD
nonn,easy,base,nice,look,changed
STATUS
approved