cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A089591 "Lazy binary" representation of n. Also called redundant binary representation of n.

This page as a plain text file.
%I A089591 #30 Jun 03 2023 21:42:35
%S A089591 0,1,10,11,20,101,110,111,120,201,210,1011,1020,1101,1110,1111,1120,
%T A089591 1201,1210,2011,2020,2101,2110,10111,10120,10201,10210,11011,11020,
%U A089591 11101,11110,11111,11120,11201,11210,12011,12020,12101,12110,20111
%N A089591 "Lazy binary" representation of n. Also called redundant binary representation of n.
%C A089591 Let a(0) = 0 and construct a(n) from a(n-1) by (i) incrementing the rightmost digit and (ii) if any digit is 2, replace the rightmost 2 with a 0 and increment the digit immediately to its left. (Note that changing "if" to "while" in this recipe gives the standard binary representation of n, A007088(n)).
%C A089591 Equivalently, a(2n+1) = a(n):1 and a(2n+2) = b(n):0, where b(n) is obtained from a(n) by incrementing the least significant digit and : denotes string concatenation.
%C A089591 If the digits of a(n) are d_k, d_{k-1}, ..., d_2, d_1, d_0, then n = Sum_{i=0..k} d_i*2^i, just as in standard binary notation.  The difference is that here we are a bit lazy, and allow a few digits to be 2's. The number of 2's in a(n) appears to be A037800(n+1). - _N. J. A. Sloane_, Jun 03 2023
%C A089591 Every pair of 2's is separated by a 0 and every pair of significant 0's is separated by a 2.
%C A089591 a(n) has exactly floor(log_2((n+2)/3))+1 digits [cf. A033484] and their sum is exactly floor(log_2(n+1)) [A000523].
%C A089591 The i-th digit of a(n) is ceiling( floor( ((n+1-2^i) mod 2^(i+1))/2^(i-1) ) / 2).
%C A089591 A137951 gives values of terms interpreted as ternary numbers, a(n)=A007089(A137951(n)). - _Reinhard Zumkeller_, Feb 25 2008
%D A089591 Gerth S. Brodal, Worst-case efficient priority queues, SODA 1996.
%D A089591 Michael J. Clancy and D. E. Knuth, A programming and problem-solving seminar, Technical Report STAN-CS-77-606, Department of Computer Science, Stanford University, Palo Alto, 1977.
%D A089591 Haim Kaplan and Robert E. Tarjan, Purely functional representations of catenable sorted lists, STOC 1996.
%D A089591 Chris Okasaki, Purely Functional Data Structures, Cambridge, 1998.
%H A089591 R. Zumkeller, <a href="/A089591/b089591.txt">Table of n, a(n) for n = 0..10000</a>
%e A089591 a(8) = 120 -> 121 -> 201 = a(9); a(9) = 201 -> 202 -> 210 = a(10).
%p A089591 A089591 := proc(n) option remember ; local nhalf ; if n <= 1 then RETURN(n) ; else nhalf := floor(n/2) ; if n mod 2 = 1 then RETURN(10*A089591(nhalf) +1) ; else RETURN(10*(A089591(nhalf-1)+1)) ; fi ; fi ; end: for n from 0 to 200 do printf("%d, ",A089591(n)) ; od ; # _R. J. Mathar_, Mar 11 2007
%t A089591 a[n_] := a[n] = Module[{nhalf}, If[n <= 1, Return[n], nhalf = Floor[n/2]; If[Mod[n, 2]==1, Return[10*a[nhalf]+1], Return[10*(a[nhalf-1]+1)]]]]; Table[a[n], {n, 0, 100}] (* _Jean-François Alcover_, Jan 19 2016, after _R. J. Mathar_ *)
%Y A089591 Cf. A000523, A033484, A072998, A024629, A089600, A089601, A089604, A037800.
%Y A089591 A158582: lazy binary different from regular binary, A089633: lazy binary and regular binary agree.
%K A089591 easy,nonn,nice,base
%O A089591 0,3
%A A089591 _Jeff Erickson_, Dec 29 2003
%E A089591 More terms from _R. J. Mathar_, Mar 11 2007
%E A089591 Edited by _Charles R Greathouse IV_, Apr 30 2010
%E A089591 Edited by _N. J. A. Sloane_, Jun 03 2023