|
|
A320466
|
|
Number of partitions of n such that the successive differences of consecutive parts are nonincreasing.
|
|
28
|
|
|
1, 1, 2, 3, 4, 5, 7, 7, 9, 12, 12, 13, 18, 17, 21, 25, 24, 27, 34, 33, 38, 44, 43, 47, 58, 56, 62, 70, 70, 78, 90, 84, 96, 109, 108, 118, 132, 127, 140, 158, 158, 167, 189, 185, 204, 221, 218, 236, 260, 261, 282, 301, 299, 322, 358, 350, 376, 405, 404, 432, 472, 466, 500
(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.
Partitions (p(1), p(2), ..., p(m)) such that p(k-1) - p(k-2) >= p(k) - p(k-1) for all k >= 3.
The differences of a sequence are defined as if the sequence were increasing, so for example the differences of (6,3,1) are (-3,-2). Then a(n) is the number of integer partitions of n whose differences are weakly decreasing. The Heinz numbers of these partitions are given by A325361. Of course, the number of such integer partitions of n is also the number of reversed integer partitions of n whose differences are weakly decreasing, which is the author's interpretation. - Gus Wiseman, May 03 2019
|
|
LINKS
|
|
|
EXAMPLE
|
There are a(10) = 12 such partitions of 10:
01: [10]
02: [1, 9]
03: [2, 8]
04: [3, 7]
05: [4, 6]
06: [5, 5]
07: [1, 4, 5]
08: [2, 4, 4]
09: [1, 2, 3, 4]
10: [1, 3, 3, 3]
11: [2, 2, 2, 2, 2]
12: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
There are a(11) = 13 such partitions of 11:
01: [11]
02: [1, 10]
03: [2, 9]
04: [3, 8]
05: [4, 7]
06: [5, 6]
07: [1, 4, 6]
08: [1, 5, 5]
09: [2, 4, 5]
10: [3, 4, 4]
11: [2, 3, 3, 3]
12: [1, 2, 2, 2, 2, 2]
13: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
|
|
MATHEMATICA
|
Table[Length[Select[IntegerPartitions[n], GreaterEqual@@Differences[#]&]], {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|
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. A320382 (distinct parts, nonincreasing).
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|