login
This site is supported by donations to The OEIS Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A003314 Binary entropy function: a(1)=0; for n > 1, a(n) = n + min { a(k)+a(n-k) : 1 <= k <= n-1 }.
(Formerly M1345)
13
0, 2, 5, 8, 12, 16, 20, 24, 29, 34, 39, 44, 49, 54, 59, 64, 70, 76, 82, 88, 94, 100, 106, 112, 118, 124, 130, 136, 142, 148, 154, 160, 167, 174, 181, 188, 195, 202, 209, 216, 223, 230, 237, 244, 251, 258, 265, 272, 279, 286, 293, 300, 307, 314, 321, 328, 335 (list; graph; refs; listen; history; text; internal format)
OFFSET

1,2

COMMENTS

Morris gives many other interesting properties of this function.

a(n) is a convex function of n. (See the Morris reference.)

REFERENCES

D. E. Knuth, The Art of Computer Programming. Addison-Wesley, Reading, MA, Vol. 3, Sect 5.4.9, Eq. (19). p. 374.

N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).

LINKS

Indranil Ghosh, Table of n, a(n) for n = 1..32768 (terms 1..1000 from T. D. Noe)

D Chistikov, S Iván, A Lubiw, J Shallit, Fractional coverings, greedy coverings, and rectifier networks, arXiv preprint arXiv:1509.07588, 2015

Hsien-Kuei Hwang, S. Janson, T. H. Tsai, Exact and asymptotic solutions of the recurrence f(n) = f(floor(n/2)) + f(ceiling(n/2)) + g(n): theory and applications, Preprint 2016.

Hsien-Kuei Hwang, S. Janson, T. H. Tsai, Exact and Asymptotic Solutions of a Divide-and-Conquer Recurrence Dividing at Half: Theory and Applications, ACM Transactions on Algorithms, 13:4 (2017), #47; DOI: 10.1145/3127585.

D. Knuth, Letter to N. J. A. Sloane, date unknown

R. Morris, Some theorems on sorting, SIAM J. Appl. Math., 17 (1969), 1-6.

FORMULA

a(1) = 0; a(n) = n + a([n/2]) + a(n-[n/2]). (See the Morris reference.)

a(n) = A001855(n)+n-1. - Michael Somos Feb 07 2004

a(n) = n + a(floor(n/2)) + a(ceiling(n/2)) = n*floor(log_2(4n))-2^floor(log_2(2n)) = A033156(n) - n = n*A070941(n) - A062383(n). - Henry Bottomley, Jul 03 2002

a(1) = 0 and for n>1: a(n) = a(n-1) + A070941(2*n-1). Also a(n) = A123753(n-1) - 1. - Reinhard Zumkeller, Oct 12 2006

a(n) = A123753(n-1) - 1. - Peter Luschny, Nov 30 2017

EXAMPLE

a(6) = 6 + min {1+12, 2+8, 5+5} = 6 + 10 = 16.

MAPLE

A003314 := proc(n) local i, j; option remember; if n<=2 then n elif n=3 then 5 else j := 10^10; for i from 1 to n-1 do if A003314(i)+A003314(n-i) < j then j := A003314(i)+A003314(n-i); fi; od; n+j; fi; end;

MATHEMATICA

a[1] = 0; a[n_] := If[OddQ[n], n + a[(n-1)/2 + 1] + a[(n-1)/2], 2*(n/2 + a[n/2])];

Table[a[n], {n, 1, 57}] (* Jean-François Alcover, Oct 15 2012 *)

a[n_] := n + n IntegerLength[n, 2] - 2^IntegerLength[n, 2];

Table[a[n], {n, 1, 57}] (* Peter Luschny, Dec 02 2017 *)

PROG

(PARI) a(n)=if(n<2, 0, n+a(n\2)+a((n+1)\2))

(PARI) a(n)=local(m); if(n<2, 0, m=length(binary(n-1)); n*m-2^m+n)

(Haskell)

a003314 n = a003314_list !! (n-1)

a003314_list = 0 : f [0] [2..] where

   f vs (w:ws) = y : f (y:vs) ws where

     y = w + minimum (zipWith (+) vs $ reverse vs)

-- Reinhard Zumkeller, Aug 13 2013

(Python)

def A003314(n):

....return n*int(math.log(4*n, 2))-2**int(math.log(2*n, 2)) # Indranil Ghosh, Feb 03 2017

(Python)

def A003314(n):

    s, i, z = n-1, n-1, 1

    while 0 <= i: s += i; i -= z; z += z

    return s

print([A003314(n) for n in range(1, 58)]) # Peter Luschny, Nov 30 2017

CROSSREFS

Cf. A054248, A097071, A123753.

Sequence in context: A228153 A228152 A061717 * A228155 A070977 A134925

Adjacent sequences:  A003311 A003312 A003313 * A003315 A003316 A003317

KEYWORD

nonn,easy,nice

AUTHOR

N. J. A. Sloane

STATUS

approved

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

License Agreements, Terms of Use, Privacy Policy .

Last modified February 22 15:12 EST 2018. Contains 299454 sequences. (Running on oeis4.)