%I #23 Jan 09 2021 02:46:21
%S 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,
%T 62,70,70,78,90,84,96,109,108,118,132,127,140,158,158,167,189,185,204,
%U 221,218,236,260,261,282,301,299,322,358,350,376,405,404,432,472,466,500
%N Number of partitions of n such that the successive differences of consecutive parts are nonincreasing.
%C Partitions are usually written with parts in descending order, but the conditions are easier to check "visually" if written in ascending order.
%C Partitions (p(1), p(2), ..., p(m)) such that p(k-1) - p(k-2) >= p(k) - p(k-1) for all k >= 3.
%C 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
%H Fausto A. C. Cariboni, <a href="/A320466/b320466.txt">Table of n, a(n) for n = 0..1000</a>
%H Gus Wiseman, <a href="/A325325/a325325.txt">Sequences counting and ranking integer partitions by the differences of their successive parts.</a>
%e There are a(10) = 12 such partitions of 10:
%e 01: [10]
%e 02: [1, 9]
%e 03: [2, 8]
%e 04: [3, 7]
%e 05: [4, 6]
%e 06: [5, 5]
%e 07: [1, 4, 5]
%e 08: [2, 4, 4]
%e 09: [1, 2, 3, 4]
%e 10: [1, 3, 3, 3]
%e 11: [2, 2, 2, 2, 2]
%e 12: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
%e There are a(11) = 13 such partitions of 11:
%e 01: [11]
%e 02: [1, 10]
%e 03: [2, 9]
%e 04: [3, 8]
%e 05: [4, 7]
%e 06: [5, 6]
%e 07: [1, 4, 6]
%e 08: [1, 5, 5]
%e 09: [2, 4, 5]
%e 10: [3, 4, 4]
%e 11: [2, 3, 3, 3]
%e 12: [1, 2, 2, 2, 2, 2]
%e 13: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
%t Table[Length[Select[IntegerPartitions[n],GreaterEqual@@Differences[#]&]],{n,0,30}] (* _Gus Wiseman_, May 03 2019 *)
%o (Ruby)
%o def partition(n, min, max)
%o return [[]] if n == 0
%o [max, n].min.downto(min).flat_map{|i| partition(n - i, min, i).map{|rest| [i, *rest]}}
%o end
%o def f(n)
%o return 1 if n == 0
%o cnt = 0
%o partition(n, 1, n).each{|ary|
%o ary0 = (1..ary.size - 1).map{|i| ary[i - 1] - ary[i]}
%o cnt += 1 if ary0.sort == ary0
%o }
%o cnt
%o end
%o def A320466(n)
%o (0..n).map{|i| f(i)}
%o end
%o p A320466(50)
%Y Cf. A240026, A240027, A320470.
%Y Cf. A320382 (distinct parts, nonincreasing).
%Y Cf. A049988, A320509, A325325, A325350, A325353, A325361.
%K nonn
%O 0,3
%A _Seiichi Manyama_, Oct 13 2018
|