A320387
Number of partitions of n into distinct parts such that the successive differences of consecutive parts are nonincreasing, and first difference <= first part.
Original entry on oeis.org
1, 1, 1, 2, 1, 2, 3, 2, 2, 4, 3, 4, 5, 3, 5, 7, 4, 7, 8, 6, 8, 11, 7, 9, 13, 9, 11, 16, 12, 15, 18, 13, 17, 20, 17, 21, 24, 19, 24, 30, 22, 28, 34, 26, 34, 38, 30, 37, 43, 37, 42, 48, 41, 50, 58, 48, 55, 64, 53, 64, 71, 59, 73, 81, 69, 79, 89, 79, 90, 101, 87, 100, 111
Offset: 0
There are a(29) = 15 such partitions of 29:
01: [29]
02: [10, 19]
03: [11, 18]
04: [12, 17]
05: [13, 16]
06: [14, 15]
07: [5, 10, 14]
08: [6, 10, 13]
09: [6, 11, 12]
10: [7, 10, 12]
11: [8, 10, 11]
12: [3, 6, 9, 11]
13: [5, 7, 8, 9]
14: [2, 4, 6, 8, 9]
15: [3, 5, 6, 7, 8]
There are a(30) = 18 such partitions of 30:
01: [30]
02: [10, 20]
03: [11, 19]
04: [12, 18]
05: [13, 17]
06: [14, 16]
07: [5, 10, 15]
08: [6, 10, 14]
09: [6, 11, 13]
10: [7, 10, 13]
11: [7, 11, 12]
12: [8, 10, 12]
13: [3, 6, 9, 12]
14: [9, 10, 11]
15: [4, 7, 9, 10]
16: [2, 4, 6, 8, 10]
17: [6, 7, 8, 9]
18: [4, 5, 6, 7, 8]
A053632 counts compositions by weighted sum.
-
prix[n_]:=If[n==1,{},Flatten[Cases[FactorInteger[n],{p_,k_}:>Table[PrimePi[p],{k}]]]];
ots[y_]:=Sum[i*y[[i]],{i,Length[y]}];
Table[Length[Select[Range[2^n],ots[prix[#]]==n&]],{n,10}] (* Gus Wiseman, Jan 17 2023 *)
-
seq(n)={Vec(sum(k=1, (sqrtint(8*n+1)+1)\2, my(t=binomial(k,2)); x^t/prod(j=1, k-1, 1 - x^(t-binomial(j,2)) + O(x^(n-t+1)))))} \\ Andrew Howroyd, Jan 22 2023
-
def partition(n, min, max)
return [[]] if n == 0
[max, n].min.downto(min).flat_map{|i| partition(n - i, min, i - 1).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
def A320387(n)
(0..n).map{|i| f(i)}
end
p A320387(50)
A179254
Number of partitions of n into distinct parts such that the successive differences of consecutive parts are strictly increasing.
Original entry on oeis.org
1, 1, 1, 2, 2, 3, 3, 5, 5, 6, 8, 9, 9, 13, 14, 15, 19, 21, 22, 28, 30, 32, 39, 42, 44, 54, 58, 61, 72, 77, 82, 96, 102, 108, 124, 133, 141, 160, 171, 180, 203, 218, 230, 256, 273, 289, 320, 342, 361, 395, 423, 447, 486, 520, 548, 594, 635, 669, 721, 769, 811, 871, 928, 978, 1044, 1114
Offset: 0
There are a(17) = 21 such partitions of 17:
01: [ 1 2 4 10 ]
02: [ 1 2 5 9 ]
03: [ 1 2 14 ]
04: [ 1 3 13 ]
05: [ 1 4 12 ]
06: [ 1 5 11 ]
07: [ 1 16 ]
08: [ 2 3 12 ]
09: [ 2 4 11 ]
10: [ 2 5 10 ]
11: [ 2 15 ]
12: [ 3 4 10 ]
13: [ 3 5 9 ]
14: [ 3 14 ]
15: [ 4 5 8 ]
16: [ 4 13 ]
17: [ 5 12 ]
18: [ 6 11 ]
19: [ 7 10 ]
20: [ 8 9 ]
21: [ 17 ]
- _Joerg Arndt_, Mar 31 2014
Cf.
A240026 (partitions with nondecreasing differences),
A240027 (partitions with strictly increasing differences).
-
def partition(n, min, max)
return [[]] if n == 0
[max, n].min.downto(min).flat_map{|i| partition(n - i, min, i - 1).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.reverse && ary0.uniq == ary0
}
cnt
end
def A179254(n)
(0..n).map{|i| f(i)}
end
p A179254(50) # Seiichi Manyama, Oct 12 2018
-
def A179254(n):
has_increasing_diffs = lambda x: min(differences(x,2)) >= 1
allowed = lambda x: len(x) < 3 or has_increasing_diffs(x)
return len([x for x in Partitions(n,max_slope=-1) if allowed(x[::-1])])
# D. S. McNeil, Jan 06 2011
A179269
Number of partitions of n into distinct parts such that the successive differences of consecutive parts are increasing, and first difference > first part.
Original entry on oeis.org
1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 5, 5, 5, 7, 7, 7, 10, 10, 10, 13, 14, 14, 18, 19, 19, 23, 25, 25, 30, 32, 33, 38, 41, 42, 48, 52, 54, 60, 65, 67, 75, 81, 84, 92, 99, 103, 113, 121, 126, 136, 147, 153, 165, 177, 184, 197, 213, 221, 236, 253, 264, 280, 301, 313, 331, 355, 371, 390, 418, 435, 458
Offset: 0
a(10) = 5 as there are 5 such partitions of 10: 1 + 3 + 6 = 1 + 9 = 2 + 8 = 3 + 7 = 10.
a(10) = 5 as there are 5 such partitions of 10: 10, 8 + 1 + 1, 6 + 2 + 2, 4 + 3 + 3, 3 + 2 + 2 + 1 + 1 + 1 (second definition).
From _Gus Wiseman_, May 04 2019: (Start)
The a(3) = 1 through a(13) = 7 partitions whose differences are strictly increasing (with the last part taken to be 0) are the following (A = 10, B = 11, C = 12, D = 13). The Heinz numbers of these partitions are given by A325460.
(3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D)
(31) (41) (51) (52) (62) (72) (73) (83) (93) (94)
(61) (71) (81) (82) (92) (A2) (A3)
(91) (A1) (B1) (B2)
(631) (731) (831) (C1)
(841)
(931)
The a(3) = 1 through a(11) = 5 partitions whose multiplicities form an initial interval of positive integers are the following (A = 10, B = 11). The Heinz numbers of these partitions are given by A307895.
(3) (4) (5) (6) (7) (8) (9) (A) (B)
(211) (311) (411) (322) (422) (522) (433) (533)
(511) (611) (711) (622) (722)
(811) (911)
(322111) (422111)
(End)
-
Table[Length@
Select[IntegerPartitions[n],
And @@ Equal[Range[Length[Split[#]]], Length /@ Split[#]] &], {n,
0, 40}] (* Olivier Gérard, Jul 28 2017 *)
Table[Length[Select[IntegerPartitions[n],Less@@Differences[Append[#,0]]&]],{n,0,30}] (* Gus Wiseman, May 04 2019 *)
-
R(n)={my(L=List(), v=vectorv(n, i, 1), w=1, t=1); while(v, listput(L,v); w++; t+=w; v=vectorv(n, i, sum(k=1, (i-1)\t, L[w-1][i-k*t]))); Mat(L)}
seq(n)={my(M=R(n)); concat([1], vector(n, i, vecsum(M[i,])))} \\ Andrew Howroyd, Aug 27 2019
-
def partition(n, min, max)
return [[]] if n == 0
[max, n].min.downto(min).flat_map{|i| partition(n - i, min, i - 1).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.reverse && ary0.uniq == ary0
}
cnt
end
def A179269(n)
(0..n).map{|i| f(i)}
end
p A179269(50) # Seiichi Manyama, Oct 12 2018
-
def A179269(n):
has_increasing_diffs = lambda x: min(differences(x,2)) >= 1
special = lambda x: (x[1]-x[0]) > x[0]
allowed = lambda x: (len(x) < 2 or special(x)) and (len(x) < 3 or has_increasing_diffs(x))
return len([x for x in Partitions(n,max_slope=-1) if allowed(x[::-1])])
# D. S. McNeil, Jan 06 2011
A320382
Number of partitions of n into distinct parts such that the successive differences of consecutive parts are nonincreasing.
Original entry on oeis.org
1, 1, 1, 2, 2, 3, 4, 4, 5, 7, 7, 8, 10, 10, 12, 16, 14, 16, 20, 20, 23, 27, 26, 29, 35, 34, 38, 44, 43, 48, 55, 53, 59, 68, 67, 74, 83, 79, 88, 100, 98, 106, 118, 117, 127, 142, 139, 149, 164, 165, 179, 192, 191, 206, 226, 224, 240, 260, 257, 277, 301, 299, 319, 344, 346
Offset: 0
There are a(17) = 16 such partitions of 17:
01: [17]
02: [1, 16]
03: [2, 15]
04: [3, 14]
05: [4, 13]
06: [5, 12]
07: [6, 11]
08: [7, 10]
09: [1, 6, 10]
10: [8, 9]
11: [1, 7, 9]
12: [2, 6, 9]
13: [2, 7, 8]
14: [3, 6, 8]
15: [4, 6, 7]
16: [2, 4, 5, 6]
There are a(18) = 20 such partitions of 18:
01: [18]
02: [1, 17]
03: [2, 16]
04: [3, 15]
05: [4, 14]
06: [5, 13]
07: [6, 12]
08: [7, 11]
09: [1, 6, 11]
10: [8, 10]
11: [1, 7, 10]
12: [2, 6, 10]
13: [1, 8, 9]
14: [2, 7, 9]
15: [3, 6, 9]
16: [3, 7, 8]
17: [4, 6, 8]
18: [5, 6, 7]
19: [1, 4, 6, 7]
20: [3, 4, 5, 6]
-
def partition(n, min, max)
return [[]] if n == 0
[max, n].min.downto(min).flat_map{|i| partition(n - i, min, i - 1).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
def A320382(n)
(0..n).map{|i| f(i)}
end
p A320382(50)
A320510
Number of partitions of n such that the successive differences of consecutive parts are decreasing, and first difference < first part.
Original entry on oeis.org
1, 1, 2, 1, 2, 2, 2, 2, 4, 2, 3, 4, 3, 4, 6, 3, 5, 6, 5, 6, 9, 5, 7, 9, 8, 8, 11, 8, 11, 13, 10, 12, 15, 11, 15, 16, 14, 16, 21, 15, 20, 22, 18, 21, 26, 21, 24, 28, 25, 28, 33, 26, 32, 34, 33, 36, 40, 34, 40, 45, 40, 43, 49, 43, 52, 54, 49, 54, 62, 56, 62, 64, 61, 67, 75, 66
Offset: 0
There are a(29) = 13 such partitions of 29:
01: [29]
02: [10, 19]
03: [11, 18]
04: [12, 17]
05: [13, 16]
06: [14, 15]
07: [6, 10, 13]
08: [6, 11, 12]
09: [7, 10, 12]
10: [7, 11, 11]
11: [8, 10, 11]
12: [9, 10, 10]
13: [4, 7, 9, 9]
There are a(30) = 10 such partitions of 30:
01: [30]
02: [11, 19]
03: [12, 18]
04: [13, 17]
05: [14, 16]
06: [15, 15]
07: [6, 11, 13]
08: [7, 11, 12]
09: [8, 11, 11]
10: [4, 7, 9, 10]
Cf.
A320385 (distinct parts, decreasing, and first difference < first part).
-
Table[Length[Select[IntegerPartitions[n],Greater@@Differences[Append[#,0]]&]],{n,0,30}] (* Gus Wiseman, May 04 2019 *)
-
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 && ary0.uniq == ary0
}
cnt
end
def A320510(n)
(0..n).map{|i| f(i)}
end
p A320510(50)
A320388
Number of partitions of n into distinct parts such that the successive differences of consecutive parts are decreasing.
Original entry on oeis.org
1, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 8, 7, 9, 11, 10, 12, 15, 14, 16, 19, 18, 21, 25, 23, 26, 31, 29, 33, 38, 36, 40, 46, 44, 49, 56, 53, 58, 66, 64, 70, 77, 76, 82, 92, 89, 96, 106, 104, 113, 123, 120, 130, 142, 141, 149, 162, 160, 172, 186, 184, 195, 211, 210, 223, 238
Offset: 0
There are a(17) = 15 such partitions of 17:
01: [17]
02: [1, 16]
03: [2, 15]
04: [3, 14]
05: [4, 13]
06: [5, 12]
07: [6, 11]
08: [7, 10]
09: [1, 6, 10]
10: [8, 9]
11: [1, 7, 9]
12: [2, 6, 9]
13: [2, 7, 8]
14: [3, 6, 8]
15: [4, 6, 7]
There are a(18) = 14 such partitions of 18:
01: [18]
02: [1, 17]
03: [2, 16]
04: [3, 15]
05: [4, 14]
06: [5, 13]
07: [6, 12]
08: [7, 11]
09: [8, 10]
10: [1, 7, 10]
11: [1, 8, 9]
12: [2, 7, 9]
13: [3, 7, 8]
14: [1, 4, 6, 7]
-
def partition(n, min, max)
return [[]] if n == 0
[max, n].min.downto(min).flat_map{|i| partition(n - i, min, i - 1).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 && ary0.uniq == ary0
}
cnt
end
def A320388(n)
(0..n).map{|i| f(i)}
end
p A320388(50)
Showing 1-6 of 6 results.
Comments