login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

Successively add the smallest nonzero binary number that is not a substring.
14

%I #54 Aug 10 2016 00:29:45

%S 1,3,5,8,11,15,17,20,23,27,31,33,36,39,44,51,56,61,65,68,71,76,81,84,

%T 87,91,95,99,104,111,115,120,125,129,132,135,140,145,148,151,157,165,

%U 168,171,175,179,186,190,194,199,204,209,216,223,227,232,241,246

%N Successively add the smallest nonzero binary number that is not a substring.

%C a(n) is at least Omega(n), at most O(n*log(n)).

%C The empirical approximation n*(log(n)/2 + exp(1)) is startlingly close to tight, compared with many increasing upper bounds.

%C A261644(n) = A062383(a(n)) - a(n). - _Reinhard Zumkeller_, Aug 30 2015

%H Alex Meiburg, <a href="/A260273/b260273.txt">Table of n, a(n) for n = 1..20000</a>

%F a(n+1) = a(n) + A261461(a(n)). - _Reinhard Zumkeller_, Aug 30 2015

%e Begin with a(1)=1, in binary, "1". This contains the string "1" but not "10", so we add 2. Thus a(2)=1+2=3. This also contains "1" but not "10", so we move to a(3)=3+2=5. This contains "1" and "10" but not "11", so we add 3. Thus a(4)=5+3=8. (See A261018 for the successive numbers that are added. - _N. J. A. Sloane_, Aug 17 2015)

%t sublistQ[L1_, L2_] := Module[{l1 = Length[L1], l2 = Length[L2], k}, If[l2 <= l1, For[k = 1, k <= l1 - l2 + 1, k++, If[L1[[k ;; k + l2 - 1]] == L2, Return[True]]]]; False];

%t a[1] = 1; a[n_] := a[n] = Module[{bb = IntegerDigits[a[n-1], 2], k}, For[k = 1, sublistQ[bb, IntegerDigits[k, 2]], k++]; a[n-1] + k]; Table[a[n], {n, 1, 60}] (* _Jean-François Alcover_, Apr 01 2016 *)

%t NestList[Function[k, k + FromDigits[#, 2] &@ SelectFirst[IntegerDigits[Range[2^8], 2], Length@ SequencePosition[IntegerDigits[k, 2], #] == 0 &]], 1, 64] (* _Michael De Vlieger_, Apr 01 2016, Version 10.1 *)

%o (Java)

%o public static void main(String[] args) {

%o int a=1;

%o for(int iter=0;iter<100;iter++){

%o System.out.print(a+", ");

%o int inc;

%o for(inc=1; contains(a,inc); inc++);

%o a+=inc;

%o }

%o }

%o static boolean contains(int a,int test){

%o int mask=(Integer.highestOneBit(test)<<1)-1;

%o while(a >= test){

%o if((a & mask) == test) return true;

%o a >>= 1;

%o }

%o return false;

%o }

%o (Haskell)

%o a260273 n = a260273_list !! (n-1)

%o a260273_list = iterate (\x -> x + a261461 x) 1

%o -- _Reinhard Zumkeller_, Aug 30 2015, Aug 17 2015

%o (Python)

%o A260273_list, a = [1], 1

%o for i in range(10**3):

%o b, s = 1, format(a,'b')

%o while format(b,'b') in s:

%o b += 1

%o a += b

%o s = format(a,'b')

%o A260273_list.append(a) # _Chai Wah Wu_, Aug 26 2015

%Y See A261922 and A261461 for the smallest missing number function; also A261923, A262279, A261281.

%Y Cf. A030308, A261015, A261016, A261017, A261019.

%Y See also A261396 (when a(n) just passes a power of 2), A261416 (the limiting behavior just past a power of 2).

%Y First differences are A261018.

%Y A262288 is the decimal analog.

%Y Cf. A261644, A062383.

%K nonn,base,easy,nice

%O 1,2

%A _Alex Meiburg_, Jul 22 2015