cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

Showing 1-6 of 6 results.

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

Views

Author

Seiichi Manyama, Oct 12 2018

Keywords

Comments

Partitions are usually written with parts in descending order, but the conditions are easier to check "visually" if written in ascending order.
Generating function of the "second integrals" of partitions: given a partition (p_1, ..., p_s) written in weakly decreasing order, write the sequence B = (b_1, b_2, ..., b_s) = (p_1, p_1 + p_2, ..., p_1 + ... + p_s). The sequence gives the coefficients of the generating function summing q^(b_1 + ... + b_s) over all partitions of all nonnegative integers. - William J. Keith, Apr 23 2022
From Gus Wiseman, Jan 17 2023: (Start)
Equivalently, a(n) is the number of multisets (weakly increasing sequences of positive integers) with weighted sum n. For example, the Heinz numbers of the a(0) = 1 through a(15) = 7 multisets are:
1 2 3 4 7 6 8 10 15 12 16 18 20 26 24 28
5 11 9 17 19 14 21 22 27 41 30 32
13 23 29 31 33 55 39 34
25 35 37 43 45
49 77 47
65
121
These multisets are counted by A264034. The reverse version is A007294. The zero-based version is A359678.
(End)

Examples

			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]
		

Crossrefs

Number of appearances of n > 0 in A304818, reverse A318283.
A053632 counts compositions by weighted sum.
A358194 counts partitions by weighted sum, reverse A264034.
Weighted sum of prime indices: A359497, A359676, A359682, A359754, A359755.

Programs

  • Mathematica
    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 *)
  • PARI
    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
  • Ruby
    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)
    

Formula

G.f.: Sum_{k>=1} x^binomial(k,2)/Product_{j=1..k-1} (1 - x^(binomial(k,2)-binomial(j,2))). - Andrew Howroyd, Jan 22 2023

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

Views

Author

Joerg Arndt, Jan 05 2011

Keywords

Comments

Partitions into distinct parts (p(1), p(2), ..., p(m)) such that p(k-1) - p(k-2) < p(k) - p(k-1) for all k >= 3.

Examples

			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
		

Crossrefs

Cf. A007294, A179255 (nondecreasing differences), A179269, A320382, A320385.
Cf. A240026 (partitions with nondecreasing differences), A240027 (partitions with strictly increasing differences).

Programs

  • Ruby
    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
  • Sage
    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

Views

Author

Joerg Arndt, Jan 05 2011

Keywords

Comments

Conditions as in A179254; additionally, if more than 1 part, first difference > first part.
Equivalently, number of partitions for which the sequence of part counts by decreasing part size is 1, 2, 3, ... - Olivier Gérard, Jul 28 2017

Examples

			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)
		

Crossrefs

Cf. A179254 (condition only on differences), A007294 (nondecreasing instead of strictly increasing), A179255, A320382, A320385, A320387, A320388.

Programs

  • Mathematica
    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 *)
  • PARI
    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
  • Ruby
    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
    
  • Sage
    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
    

Formula

G.f.: Sum_{k>=0} x^(k*(k+1)*(k+2)/6) / Product_{j=1..k} (1 - x^(j*(j+1)/2)) (conjecture). - Ilya Gutkovskiy, Apr 25 2019

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

Views

Author

Seiichi Manyama, Oct 12 2018

Keywords

Comments

Partitions into distinct parts (p(1), p(2), ..., p(m)) such that p(k-1) - p(k-2) >= p(k) - p(k-1) for all k >= 3.

Examples

			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]
		

Crossrefs

Programs

  • Ruby
    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

Views

Author

Seiichi Manyama, Oct 14 2018

Keywords

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 of (6,3,1) (with the last part taken to be 0) 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 strictly decreasing. The Heinz numbers of these partitions are given by A325461. Of course, the number of such integer partitions of n is also the number of reversed integer partitions of n whose differences are strictly decreasing, which is the author's interpretation. - Gus Wiseman, May 04 2019

Examples

			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]
		

Crossrefs

Cf. A320385 (distinct parts, decreasing, and first difference < first part).

Programs

  • Mathematica
    Table[Length[Select[IntegerPartitions[n],Greater@@Differences[Append[#,0]]&]],{n,0,30}] (* Gus Wiseman, May 04 2019 *)
  • 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 && 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

Views

Author

Seiichi Manyama, Oct 12 2018

Keywords

Comments

Partitions are usually written with parts in descending order, but the conditions are easier to check "visually" if written in ascending order.
Partitions into distinct parts (p(1), p(2), ..., p(m)) such that p(k-1) - p(k-2) > p(k) - p(k-1) for all k >= 3.

Examples

			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]
		

Crossrefs

Programs

  • Ruby
    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.