login
Number of partitions of n such that the successive differences of consecutive parts are strictly increasing.
21

%I #21 Jan 06 2021 08:28:00

%S 1,1,2,2,4,4,5,7,9,9,13,14,16,20,23,25,32,34,38,45,51,55,65,70,77,89,

%T 99,106,122,131,143,161,177,189,211,229,248,272,298,317,349,378,406,

%U 440,479,511,554,597,640,686,744,792,850,913,973,1039,1122,1189,1268,1358,1444,1532,1646,1742,1847,1975,2094,2210,2366

%N Number of partitions of n such that the successive differences of consecutive parts are strictly increasing.

%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 strictly increasing. The Heinz numbers of these partitions are given by A325456. Of course, the number of such integer partitions of n is also the number of reversed integer partitions of n whose differences are strictly increasing, which is the author's interpretation. - _Gus Wiseman_, May 03 2019

%H Fausto A. C. Cariboni, <a href="/A240027/b240027.txt">Table of n, a(n) for n = 0..800</a> (terms 0..260 from Joerg Arndt)

%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(15) = 25 such partitions of 15:

%e 01: [ 1 1 2 4 7 ]

%e 02: [ 1 1 2 11 ]

%e 03: [ 1 1 3 10 ]

%e 04: [ 1 1 4 9 ]

%e 05: [ 1 1 13 ]

%e 06: [ 1 2 4 8 ]

%e 07: [ 1 2 12 ]

%e 08: [ 1 3 11 ]

%e 09: [ 1 4 10 ]

%e 10: [ 1 14 ]

%e 11: [ 2 2 3 8 ]

%e 12: [ 2 2 4 7 ]

%e 13: [ 2 2 11 ]

%e 14: [ 2 3 10 ]

%e 15: [ 2 4 9 ]

%e 16: [ 2 13 ]

%e 17: [ 3 3 9 ]

%e 18: [ 3 4 8 ]

%e 19: [ 3 12 ]

%e 20: [ 4 4 7 ]

%e 21: [ 4 11 ]

%e 22: [ 5 10 ]

%e 23: [ 6 9 ]

%e 24: [ 7 8 ]

%e 25: [ 15 ]

%t Table[Length[Select[IntegerPartitions[n],Less@@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.reverse && ary0.uniq == ary0

%o }

%o cnt

%o end

%o def A240027(n)

%o (0..n).map{|i| f(i)}

%o end

%o p A240027(50) # _Seiichi Manyama_, Oct 13 2018

%Y Cf. A240026 (nondecreasing differences).

%Y Cf. A179255 (distinct parts, nondecreasing), A179254 (distinct parts, strictly increasing).

%Y Cf. A049988, A179269, A320466, A320470, A325325, A325357, A325391, A325456.

%K nonn

%O 0,3

%A _Joerg Arndt_, Mar 31 2014