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.

A337765 Number of addition triangles with apex n where all rows are weakly increasing.

Original entry on oeis.org

1, 2, 2, 4, 4, 5, 6, 9, 9, 11, 12, 15, 16, 18, 20, 26, 27, 29, 32, 37, 39, 43, 47, 53, 55, 60, 65, 72, 75, 80, 88, 99, 102, 108, 114, 125, 132, 141, 148, 159, 166, 176, 187, 200, 206, 218, 232, 249, 257, 268, 282, 301, 313, 327, 340, 360, 374, 393, 410, 429, 444, 465, 487, 516, 530, 550
Offset: 1

Views

Author

Seiichi Manyama, Sep 19 2020

Keywords

Comments

An addition triangle has any set of positive numbers as base; other rows are formed by adding pairs of adjacent numbers.
If the bottom row are weakly increasing, then every rows are weakly increasing.
5
2<=3
1<=1<=2

Examples

			For n = 5:
    5
   2,3     5     5
  1,1,2   1,4   2,3   5
For n = 6:
    6
   2,4     6     6     6
  1,1,3   1,5   2,4   3,3   6
For n = 7:
    7       7
   2,5     3,4     7     7     7
  1,1,4   1,2,2   1,6   2,5   3,4   7
For n = 8:
     8
    4,4       8       8       8
   2,2,2,    2,6     3,5     4,4     8     8     8     8
  1,1,1,1   1,1,5   1,2,3   2,2,2   1,7   2,6   3,5   4,4   8
For n = 9:
     9
    4,5       9       9       9
   2,2,3,    2,7     3,6     4,5     9     9     9     9
  1,1,1,2   1,1,6   1,2,4   2,2,3   1,8   2,7   3,6   4,5   9
		

Crossrefs

Programs

  • Ruby
    def A(n)
      f_ary = [[n]]
      cnt = 1
      while f_ary.size > 0
        b_ary = []
        f_ary.each{|i|
          s = i.size
          (1..i[0] - 1).each{|j|
            a = [j]
            (0..s - 1).each{|k|
              num = i[k] - a[k]
              if num > 0
                a << num
              else
                break
              end
            }
            b_ary << a if a.size == s + 1 && a == a.sort
          }
        }
        f_ary = b_ary
        cnt += f_ary.size
      end
      cnt
    end
    def A337765(n)
      (1..n).map{|i| A(i)}
    end
    p A337765(50)