A175021 A positive integer k is included if k is not the smallest positive integer with its particular multiset of run-lengths (of either 0 or 1 considered together) in its binary representation.
6, 11, 13, 14, 20, 22, 23, 25, 26, 27, 28, 29, 30, 38, 39, 40, 41, 43, 44, 45, 46, 47, 49, 50, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 70, 72, 75, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109
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 not 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, 23 is in this sequence.
Links
- Michael De Vlieger, Table of n, a(n) for n = 1..10000
Crossrefs
Cf. A175020.
Programs
-
Mathematica
Block[{nn = 109, s}, s = Array[Sort@ Map[Length, Split@ IntegerDigits[#, 2]] &, nn]; Complement[Range[nn], Values[PositionIndex@ s][[All, 1]] ]] (* Michael De Vlieger, Sep 03 2017 *)
-
PARI
{A175021_first(n)=my(k, S=[]); vector(n,R, while(!setsearch(S, R=vecsort(A101211_row(k++))), S=setunion(S,[R])); k)} \\ M. F. Hasler, Mar 11 2025
-
Python
from itertools import count, groupby def A175021(n=None, stop=3**33): # return a(n) or generator of sequence if no n given if not n: return(A175021(n)for n in range(1, stop)) if not hasattr(A := A175021, 'terms'): A.terms=[0]; A.rls=set(); A.signature=\ lambda n: tuple(sorted(len(list(g)) for _,g in groupby(bin(n)[2:]))) while n>=len(A.terms): A.terms.append(next(k for k in count(A.terms[-1]+1) if(s:=A.signature(k)) in A.rls or A.rls.add(s))) return A.terms[n] # M. F. Hasler, Mar 11 2025
Extensions
Extended by Ray Chandler, Mar 11 2010
Comments