A175020 An integer n is included if n is the smallest positive integer with its particular multiset of run-lengths (of either 0 or 1 considered together) in its binary representation.
1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 15, 16, 17, 18, 19, 21, 24, 31, 32, 33, 34, 35, 36, 37, 42, 48, 51, 56, 63, 64, 65, 66, 67, 68, 69, 71, 73, 74, 76, 85, 96, 99, 112, 127, 128, 129, 130, 131, 132, 133, 135, 136, 137, 138, 140, 146, 147, 149, 170, 192, 195, 199, 204, 224
Offset: 1
Examples
9 in binary is 1001. The run lengths form the multiset (1,2,1). Since no positive integer < 9 has this same multiset of run lengths, then 9 is in this sequence. On the other hand, 23 in binary is 10111. The run-lengths are (1,1,3). But 17 (which is < 23) in binary is 10001, which has the run-lengths of (1,3,1). Since the multisets (1,1,3) and (1,3,1) are identical, then 23 is not in this sequence.
Links
- Michael De Vlieger, Table of n, a(n) for n = 1..14167 (Terms n <= 10^8).
Programs
-
Maple
runLSet := proc(n) option remember ; local bdg,lset,arl,p ; bdg := convert(n,base,2) ; lset := [] ; arl := -1 ; for p from 1 to nops(bdg) do if p = 1 then arl := 1 ; elif op(p,bdg) = op(p-1,bdg) then arl := arl+1 ; else if arl > 0 then lset := [arl,op(lset)] ; end if; arl := 1 ; end if; end do ; if arl > 0 then lset := [arl,op(lset)] ; end if; return lset ; end proc: isA175020 := proc(n) local thisLset,k ; thisLset := runLSet(n) ; for k from 1 to n-1 do if convert(runLSet(k),multiset) = convert(thisLset,multiset) then return false; end if; end do ; return true; end proc: for n from 1 to 300 do if isA175020(n) then printf("%d,",n) ; end if; end do; # R. J. Mathar, Feb 27 2010
-
Mathematica
With[{s = Array[Sort@ Map[Length, Split@ IntegerDigits[#, 2]] &, 224]}, Values[PositionIndex@ s][[All, 1]]] (* Michael De Vlieger, Sep 03 2017 *)
Extensions
More terms from Alford Arnold, Nov 09 2009
Terms beyond 64 by R. J. Mathar, Feb 27 2010
Comments