OFFSET
1,1
COMMENTS
A000120(a(n)) = A000120(n); A023416(a(n-1)) = A008687(n) for n > 1. - Reinhard Zumkeller, Dec 04 2015
LINKS
T. D. Noe, Table of n, a(n) for n = 1..1023
Ralf Stephan, Some divide-and-conquer sequences ...
Ralf Stephan, Table of generating functions
FORMULA
a(2n) = 2a(n), a(2n+1) = 2a(n) + 1 + [n==0].
a(n) = n + 2^floor(log_2(n)) = n + A053644(n).
a(2^m+k) = 2^(m+1) + k, m >= 0, 0 <= k < 2^m. - Yosu Yurramendi, Aug 08 2016
EXAMPLE
10 in binary is 1010, so 10 is in sequence.
MATHEMATICA
w = {1, 0}; Select[Range[2, 131], If[# < 2^(Length@ w - 1), True, Take[IntegerDigits[#, 2], Length@ w] == w] &] (* Michael De Vlieger, Aug 08 2016 *)
PROG
(PARI) a(n)=n+2^floor(log(n)/log(2))
(PARI) is(n)=n>1 && !binary(n)[2] \\ Charles R Greathouse IV, Sep 23 2012
(Haskell)
import Data.List (transpose)
a004754 n = a004754_list !! (n-1)
a004754_list = 2 : concat (transpose [zs, map (+ 1) zs])
where zs = map (* 2) a004754_list
-- Reinhard Zumkeller, Dec 04 2015
(Python)
def A004754(n): return n+(1<<n.bit_length()-1) # Chai Wah Wu, Jul 13 2022
CROSSREFS
KEYWORD
nonn,easy,base
AUTHOR
EXTENSIONS
Edited by Ralf Stephan, Oct 12 2003
STATUS
approved