OFFSET
0,1
COMMENTS
This is the combinatorial number system of degree t = 4, but without the standard ordering requirement i>j>k>l>=0. Instead, we only require i,j,k,l>=0.
Exactly one of the a(n) representations of n always satisfies i>j>k>l>=0. For example, of the 1062 representations of 100, only {i,j,k,l}={8,6,5,0} is strictly decreasing.
REFERENCES
D. E. Knuth, The Art of Computer Programming, vol. 4A, Combinatorial Algorithms, Section 7.2.1.3, Eq. (20), p. 360.
LINKS
David Dewan, Table of n, a(n) for n = 0..1000
David Dewan, Plot of A389683 and A389684.
Wikipedia, Combinatorial number system.
FORMULA
G.f.: Sum_{i>=0} z^binomial(i,4) * Sum_{j>=0} z^binomial(j,3) * Sum_{k>=0} z^binomial(k,2) / (1-z). - Robert Israel, Oct 13 2025
EXAMPLE
a(10)=163 because the 163 tuples {i,j,k,l} = {0,0,0,10}, {0,0,1,10}, {0,0,2,9},...{5,4,0,1}, {5,4,1,1}, {5,4,2,0} each represent 10.
MAPLE
N:= 100: # for a(0) .. a(N)
A:= Array(0..N):
for i from 0 do
s1:= binomial(i, 4);
if s1 > N then break fi;
for j from 0 do
s2:= binomial(j, 3) + s1;
if s2 > N then break fi;
for k from 0 do
s3:= binomial(k, 2) + s2;
if s3 > N then break fi;
for l from 0 do
s4:= l + s3;
if s4 > N then break fi;
A[s4]:= A[s4]+1
od od od od:
convert(A, list); # Robert Israel, Oct 13 2025
MATHEMATICA
maxN=100; rangeI=Range[0, Ceiling[(24*maxN)^(1/4)]+1];
rangeJ=Range[0, Ceiling[CubeRoot[6*maxN]+1]];
rangeK=Range[0, Ceiling[Sqrt[2*maxN]+1]];
rangeL=Range[0, maxN]; allQuads=Tuples[{rangeI, rangeJ, rangeK, rangeL}];
conv[x_List]:=Total[MapThread[Binomial, {x, {4, 3, 2, 1}}]]
assoc=GroupBy[allQuads, conv[#]&]; assoc=KeySort[KeySelect[assoc, #<=maxN&]];
valueLengths=Length/@Values[assoc]
CROSSREFS
KEYWORD
nonn
AUTHOR
David Dewan, Oct 10 2025
STATUS
approved
