login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A078822 Number of distinct binary numbers contained as substrings in the binary representation of n. 30

%I #40 Jul 31 2022 07:47:23

%S 1,1,3,2,4,4,5,3,5,5,5,6,7,7,7,4,6,6,6,7,7,6,8,8,9,9,9,9,10,10,9,5,7,

%T 7,7,8,7,8,9,9,9,9,7,9,11,10,11,10,11,11,11,11,12,11,11,12,13,13,13,

%U 13,13,13,11,6,8,8,8,9,8,9,10,10,9,8,10,11,11,12,12,11,11,11,11,12,10,8

%N Number of distinct binary numbers contained as substrings in the binary representation of n.

%C For n>0: 0<a(2*n)-a(n)<=A070939(n)+1, 0<a(2*n+1)-a(n) < A070939(n). - _Reinhard Zumkeller_, Mar 07 2008

%C Row lengths in triangle A119709. - _Reinhard Zumkeller_, Aug 14 2013

%H Alois P. Heinz, <a href="/A078822/b078822.txt">Table of n, a(n) for n = 0..16384</a> (first 1001 terms from Reinhard Zumkeller)

%F For k>0: a(2^k-2) = 2*(k-1)+1, a(2^k-1) = k, a(2^k) = k+2;

%F for k>1: a(2^k+1) = k+2;

%F for k>0: a(2^k-1) = A078824(2^k-1), a(2^k) = A078824(2^k).

%e n=10 -> '1010' contains 5 different binary numbers: '0' (b0bb or bbb0), '1' (1bbb or bb1b), '10' (10bb or bb10), '101' (101b) and '1010' itself, therefore a(10)=5.

%p a:= n-> (s-> nops({seq(seq(parse(s[i..j]), i=1..j),

%p j=1..length(s))}))(""||(convert(n, binary))):

%p seq(a(n), n=0..85); # _Alois P. Heinz_, Jan 20 2021

%t a[n_] := (id = IntegerDigits[n, 2]; nd = Length[id]; Length[ Union[ Flatten[ Table[ id[[j ;; k]], {j, 1, nd}, {k, j, nd}], 1] //. {0, b__} :> {b}]]); Table[ a[n], {n, 0, 85}] (* _Jean-François Alcover_, Dec 01 2011 *)

%o (Haskell)

%o a078822 = length . a119709_row

%o import Numeric (showIntAtBase)

%o -- _Reinhard Zumkeller_, Aug 13 2013, Sep 14 2011

%o (PARI) a(n) = {if (n==0, 1, vb = binary(n); vf = []; for (i=1, #vb, for (j=1, #vb - i + 1, pvb = vector(j, k, vb[i+k-1]); f = subst(Pol(pvb), x, 2); vf = Set(concat(vf, f)); ); ); #vf); } \\ _Michel Marcus_, May 08 2016; corrected Jun 13 2022

%o (Python)

%o def a(n): return 1 if n == 0 else len(set(((((2<<l)-1)<<i)&n)>>i for i in range(n.bit_length()) for l in range(n.bit_length()-i)))

%o print([a(n) for n in range(64)]) # _Michael S. Branicky_, Jul 28 2022

%Y Cf. A078823, A078826, A078824, A007088, A141297, A144623, A144624.

%K nonn,base,nice,look

%O 0,3

%A _Reinhard Zumkeller_, Dec 08 2002

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 17 20:13 EDT 2024. Contains 371767 sequences. (Running on oeis4.)