login
A123580
The Kruskal-Macaulay function M_4(n).
4
0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 12, 13, 13, 14, 15, 15, 16, 16, 16, 17, 18, 18, 19, 19, 19, 20, 20, 20, 20, 21, 22, 23, 23, 24, 25, 25, 26, 26, 26, 27, 28, 28, 29, 29, 29, 30, 30, 30, 30, 31, 32, 32, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 35, 36, 37, 38
OFFSET
0,3
COMMENTS
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.
LINKS
B. M. Abrego, S. Fernandez-Merchant, and B. Llano, An Inequality for Macaulay Functions, J. Int. Seq. 14 (2011) # 11.7.4.
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: A123580 := proc(n) M(n, 4); end: for n from 0 to 120 do printf("%d, ", A123580(n)); od; # R. J. Mathar, Mar 14 2007
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[{n0 = n, t0 = t, a = {}, m}, While[n0 > 0, m = lowpol[n0, t0]; AppendTo[a, m]; n0 = n0 - Binomial[m, t0]; t0 = t0 - 1]; a];
M[n_, t_] := With[{a = c[n, t]}, Sum[Binomial[a[[i]] - 1, t - i], {i, 1, Length[a]}]];
A123580[n_] := M[n, 4];
Table[A123580[n], {n, 0, 73}] (* Jean-François Alcover, Mar 30 2023, after R. J. Mathar *)
CROSSREFS
For M_i(n), i=1, 2, 3, 4, 5 see A000127, A123578, A123579, A123580, A123731.
Sequence in context: A107079 A025528 A255338 * A072894 A328309 A037915
KEYWORD
nonn,easy
AUTHOR
N. J. A. Sloane, Nov 12 2006
STATUS
approved