login
Union of A000695 and 2*A000695.
10

%I #48 Oct 29 2024 11:18:38

%S 0,1,2,4,5,8,10,16,17,20,21,32,34,40,42,64,65,68,69,80,81,84,85,128,

%T 130,136,138,160,162,168,170,256,257,260,261,272,273,276,277,320,321,

%U 324,325,336,337,340,341,512,514,520,522,544,546,552,554,640,642,648,650

%N Union of A000695 and 2*A000695.

%C Essentially the same as A032937: 0 followed by terms of A032937. - _R. J. Mathar_, Jun 15 2008

%C Previous name was: If A = {a_1, a_2, a_3...} is the Moser-de Bruijn sequence A000695 (consisting of sums of distinct powers of 4) and A' = {2a_1, 2a_2, 2a_3...} then this sequence, let's call it B, is the union of A and A'. Its significance, alluded to in the entry for the Moser-de Bruijn sequence, is that its sumset, B+B, = {b_i + b_j : i, j natural numbers} consists of the nonnegative integers; and it is the fastest-growing sequence with this property. It can also be described as a "basis of order two for the nonnegative integers".

%C The sequence is the fastest growing with this property in the sense that a(n) ~ n^2, and any sequence with this property is O(n^2). - _Franklin T. Adams-Watters_, Jul 27 2015

%C Or, base 2 representation Sum{d(i)*2^(m-i): i=0,1,...,m} has even d(i) for all odd i.

%C Union of A000695 and 2*A000695. - _Ralf Stephan_, May 05 2004

%C Union of A000695 and A062880. - _Franklin T. Adams-Watters_, Aug 30 2014

%H Reinhard Zumkeller, <a href="/A126684/b126684.txt">Table of n, a(n) for n = 1..10000</a>

%H David Eppstein, <a href="https://arxiv.org/abs/1804.07396">Making Change in 2048</a>, arXiv:1804.07396 [cs.DM], 2018.

%F G.f.: sum(i>=1, T(i, x) + U(i, x) ), where

%F T := (k,x) -> x^(2^k-1)*V(k,x);

%F U := (k,x) -> 2*x^(3*2^(k-1)-1)*V(k,x); and

%F V := (k,x) -> (1-x^(2^(k-1)))*(4^(k-1) + sum(4^j*x^(2^j)/(1+x^(2^j)), j = 0..k-2))/(1-x);

%F Generating function. Define V(k) := [4^(k-1) + Sum ( j=0 to k-2, 4^j * x^(2^j)/(1+x^(2^j)) )] * (1-x^(2^(k-1)))/(1-x) and T(k) := (x^(2^k-1) * V(k), U(k) := x^(3*2^(k-1)-1) * V(k) then G.f. is Sum ( i >= 1, T(i) + U(i) ). Functional equation: if the sequence is a(n), n = 1, 2, 3, ... and h(x) := Sum ( n >= 1, x^a(n) ) then h(x) satisfies the following functional equation: (1 + x^2)*h(x^4) - (1 - x)*h(x^2) - x*h(x) + x^2 = 0.

%e All nonnegative integers can be represented in the form b_i + b_j; e.g. 6 = 5+1, 7 = 5+2, 8 = 0+8, 9 = 4+5

%t nmax = 100;

%t b[n_] := FromDigits[IntegerDigits[n, 2], 4];

%t Union[A000695 = b /@ Range[0, nmax], 2 A000695][[1 ;; nmax+1]] (* _Jean-François Alcover_, Oct 28 2019 *)

%o (PARI) for(n=0,350,b=binary(n); l=length(b); if(sum(i=1,floor(l/2), component(b,2*i))==0,print1(n,",")))

%o (Haskell)

%o a126684 n = a126684_list !! (n-1)

%o a126684_list = tail $ m a000695_list $ map (* 2) a000695_list where

%o m xs'@(x:xs) ys'@(y:ys) | x < y = x : m xs ys'

%o | otherwise = y : m xs' ys

%o -- _Reinhard Zumkeller_, Dec 03 2011

%o (Python)

%o from gmpy2 import digits

%o def A126684(n):

%o def bisection(f,kmin=0,kmax=1):

%o while f(kmax) > kmax: kmax <<= 1

%o while kmax-kmin > 1:

%o kmid = kmax+kmin>>1

%o if f(kmid) <= kmid:

%o kmax = kmid

%o else:

%o kmin = kmid

%o return kmax

%o def g(x):

%o s = digits(x,4)

%o for i in range(l:=len(s)):

%o if s[i]>'1':

%o break

%o else:

%o return int(s,2)

%o return int(s[:i]+'1'*(l-i),2)

%o def f(x): return n-1+x-g(x)-g(x>>1)

%o return bisection(f,n-1,n-1) # _Chai Wah Wu_, Oct 29 2024

%Y Cf. A000695, A062880, A033053, A032937.

%K easy,nonn,changed

%O 1,3

%A _Jonathan Deane_, Feb 15 2007, May 04 2007

%E New name (using comment from _Ralf Stephan_) from _Joerg Arndt_, Aug 31 2014