|
|
A320509
|
|
Number of partitions of n such that the successive differences of consecutive parts are nonincreasing, and first difference <= first part.
|
|
14
|
|
|
1, 1, 2, 3, 3, 4, 6, 4, 6, 8, 7, 8, 11, 7, 12, 14, 10, 13, 19, 12, 18, 21, 16, 19, 27, 19, 25, 30, 25, 30, 37, 25, 35, 40, 35, 42, 49, 35, 49, 56, 46, 54, 66, 50, 65, 72, 60, 70, 83, 68, 84, 90, 80, 94, 110, 86, 107, 116, 98, 119, 137, 111, 134, 146, 130, 148, 165, 141, 169
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
Partitions are usually written with parts in descending order, but the conditions are easier to check visually if written in ascending order.
The differences of a sequence are defined as if the sequence were increasing, so for example the differences (with the first part taken to be 0) of (6,3,1) are (-3,-2,-1). Then a(n) is the number of integer partitions of n whose differences (with the last part taken to be 0) are weakly decreasing. The Heinz numbers of these partitions are given by A325364. Of course, the number of such integer partitions of n is also the number of reversed integer partitions of n whose differences (with the first part taken to be 0) are weakly decreasing, which is the author's interpretation. - Gus Wiseman, May 03 2019
|
|
LINKS
|
|
|
EXAMPLE
|
There are a(11) = 8 such partitions of 11:
01: [11]
02: [4, 7]
03: [5, 6]
04: [2, 4, 5]
05: [3, 4, 4]
06: [2, 3, 3, 3]
07: [1, 2, 2, 2, 2, 2]
08: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
There are a(12) = 11 such partitions of 12:
01: [12]
02: [4, 8]
03: [5, 7]
04: [6, 6]
05: [2, 4, 6]
06: [3, 4, 5]
07: [4, 4, 4]
08: [3, 3, 3, 3]
09: [1, 2, 3, 3, 3]
10: [2, 2, 2, 2, 2, 2]
11: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
|
|
MATHEMATICA
|
Table[Length[Select[IntegerPartitions[n], GreaterEqual@@Differences[Append[#, 0]]&]], {n, 0, 30}] (* Gus Wiseman, May 03 2019 *)
|
|
PROG
|
(Ruby)
def partition(n, min, max)
return [[]] if n == 0
[max, n].min.downto(min).flat_map{|i| partition(n - i, min, i).map{|rest| [i, *rest]}}
end
def f(n)
return 1 if n == 0
cnt = 0
partition(n, 1, n).each{|ary|
ary << 0
ary0 = (1..ary.size - 1).map{|i| ary[i - 1] - ary[i]}
cnt += 1 if ary0.sort == ary0
}
cnt
end
(0..n).map{|i| f(i)}
end
|
|
CROSSREFS
|
Cf. A320387 (distinct parts, nonincreasing, and first difference <= first part).
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|