cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A123578 The Kruskal-Macaulay function M_2(n).

Original entry on oeis.org

0, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13
Offset: 0

Views

Author

N. J. A. Sloane, Nov 12 2006

Keywords

Comments

Identical to A002024, except for the initial 0.
Write n (uniquely) as n = C(n_t,t) + C(n_{t-1},t-1) + ... + C(n_v,v) where n_t > n_{t-1} > ... > n_v >= v >= 1. Then M_t(n) = C(n_t-1,t-1) + C(n_{t-1}-1,t-2) + ... + C(n_v-1,v-1).

References

  • D. E. Knuth, The Art of Computer Programming, Vol. 4, Fascicle 3, Section 7.2.1.3, Table 3.

Crossrefs

For M_i(n), i=1, 2, 3, 4, 5 see A000127, A123578, A123579, A123580, A123731.

Programs

  • Maple
    lowpol := proc(n,t) local x::integer ; x := floor( (n*factorial(t))^(1/t)) ; while binomial(x,t) <= n do x := x+1 ; od ; RETURN(x-1) ; end:
    C := proc(n,t) local nresid,tresid,m,a ; nresid := n ; tresid := t ; a := [] ; while nresid > 0 do m := lowpol(nresid,tresid) ; a := [op(a),m] ; nresid := nresid - binomial(m,tresid) ; tresid := tresid-1 ; od ; RETURN(a) ; end:
    M := proc(n,t) local a ; a := C(n,t) ; add( binomial(op(i,a)-1,t-i),i=1..nops(a)) ; end:
    A123578 := proc(n) M(n,2) ; end: # R. J. Mathar, Mar 14 2007
    a := proc(n) local t, s; t := 1; s := 0;
    while t <= n do s := s + 1; t := t + s od; s end:
    seq(a(n), n=0..84); # Peter Luschny, Oct 18 2017
  • Mathematica
    lowpol[n_, t_] := Module[{x = Floor[(n*t!)^(1/t)]}, While[Binomial[x, t] <= n, x = x+1]; x-1]; c[n_, t_] := Module[{nresid = n, tresid = t, a = {}, m}, While[nresid > 0, m = lowpol[nresid, tresid]; AppendTo[a, m]; nresid = nresid - Binomial[m, tresid]; tresid = tresid-1]; a]; m[n_, t_] := With[{a = c[n, t]}, Sum[ Binomial[ a[[i]]-1, t-i], {i, 1, Length[a]}]]; a[n_] := m[n, 2]; Table[a[n], {n, 0, 84}] (* Jean-François Alcover, Dec 04 2012, translated from R. J. Mathar's Maple program *)
  • PARI
    A123578(n)=(sqrtint(8*n)+1)\2 \\ M. F. Hasler, Apr 19 2014
    
  • Python
    from math import isqrt
    def A123578(n): return isqrt(n<<3)+1>>1 # Chai Wah Wu, Oct 17 2022