|
|
A123578
|
|
The Kruskal-Macaulay function M_2(n).
|
|
13
|
|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
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.
|
|
LINKS
|
|
|
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:
a := proc(n) local t, s; t := 1; s := 0;
while t <= n do s := s + 1; t := t + s od; s end:
|
|
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 *)
|
|
PROG
|
(Python)
from math import isqrt
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,easy
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|