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.

A337787 Number of addition triangles whose sum is n (version 2).

This page as a plain text file.
%I A337787 #18 Sep 22 2020 03:54:21
%S A337787 1,1,1,2,1,2,1,3,1,3,2,4,1,5,1,6,3,5,2,8,2,8,4,8,3,12,3,11,6,11,5,15,
%T A337787 4,16,9,14,7,20,8,18,11,20,12,25,8,25,18,24,12,31,16,32,19,29,21,39,
%U A337787 19,36,28,38,25,47,25,46,33,46,34,55,31,56,44,55,39,67,42,66,52,66,53,76,50,81,65,77,57
%N A337787 Number of addition triangles whose sum is n (version 2).
%C A337787 An addition triangle has any set of positive numbers as base; other rows are formed by adding pairs of adjacent numbers.
%C A337787 Reversing the base does not count as a different triangle.
%H A337787 Seiichi Manyama, <a href="/A337787/b337787.txt">Table of n, a(n) for n = 1..500</a>
%e A337787    n |
%e A337787 -----+-------------------------------
%e A337787    1 |  1
%e A337787 -----+-------------------------------
%e A337787    2 |  2
%e A337787 -----+-------------------------------
%e A337787    3 |  3
%e A337787 -----+-------------------------------
%e A337787    4 |      2
%e A337787      |  4  1,1
%e A337787 -----+-------------------------------
%e A337787    5 |  5
%e A337787 -----+-------------------------------
%e A337787    6 |      3
%e A337787      |  6  1,2
%e A337787 -----+-------------------------------
%e A337787    7 |  7
%e A337787 -----+-------------------------------
%e A337787    8 |      4    4
%e A337787      |  8  1,3  2,2
%e A337787 -----+-------------------------------
%e A337787    9 |  9
%e A337787 -----+-------------------------------
%e A337787   10 |      5    5
%e A337787      | 10  1,4  2,3
%e A337787 -----+-------------------------------
%e A337787   11 |       4
%e A337787      |      2,2
%e A337787      | 11  1,1,1
%e A337787 -----+-------------------------------
%e A337787   12 |      6    6    6
%e A337787      | 12  1,5  2,4  3,3
%e A337787 -----+-------------------------------
%e A337787   13 | 13
%e A337787 -----+-------------------------------
%e A337787   14 |                      5
%e A337787      |      7    7    7    2,3
%e A337787      | 14  1,6  2,5  3,4  1,1,2
%e A337787 -----+-------------------------------
%e A337787   15 | 15
%e A337787 -----+-------------------------------
%e A337787   16 |                           6
%e A337787      |      8    8    8    8    3,3
%e A337787      | 16  1,7  2,6  3,5  4,4  1,2,1
%e A337787 -----+-------------------------------
%e A337787   17 |       6      6
%e A337787      |      2,4    3,3
%e A337787      | 17  1,1,3  2,1,2
%e A337787 -----+-------------------------------
%e A337787   18 |      9    9    9    9
%e A337787      | 18  1,8  2,7  3,6  4,5
%e A337787 -----+-------------------------------
%e A337787   19 |       7
%e A337787      |      3,4
%e A337787      | 19  1,2,2
%o A337787 (Ruby)
%o A337787 def f(n)
%o A337787   ary = [1]
%o A337787   (n - 1).times{|i|
%o A337787     ary = [0] + ary + [0]
%o A337787     ary = (0..i + 1).map{|j| ary[j] + ary[j + 1] + 1}
%o A337787   }
%o A337787   ary
%o A337787 end
%o A337787 def A(n)
%o A337787   f_ary = (1..n / 2).map{|i| [i]}
%o A337787   cnt = 2
%o A337787   s = 1
%o A337787   while f_ary.size > 0
%o A337787     s_ary = f(s + 1)
%o A337787     b_ary = []
%o A337787     f_ary.each{|i|
%o A337787       (1..i[0] - 1).each{|j|
%o A337787         a = [j]
%o A337787         (0..s - 1).each{|k|
%o A337787           num = i[k] - a[k]
%o A337787           if num > 0
%o A337787             a << num
%o A337787           else
%o A337787             break
%o A337787           end
%o A337787         }
%o A337787         if a.size == s + 1
%o A337787           sum = (0..s).inject(0){|t, m| t + s_ary[m] * a[m]}
%o A337787           if sum < n
%o A337787             b_ary << a
%o A337787           elsif sum == n
%o A337787             cnt += 1
%o A337787             cnt += 1 if a == a.reverse
%o A337787           end
%o A337787         end
%o A337787       }
%o A337787     }
%o A337787     f_ary = b_ary
%o A337787     s += 1
%o A337787   end
%o A337787   cnt / 2
%o A337787 end
%o A337787 def A337787(n)
%o A337787   (1..n).map{|i| A(i)}
%o A337787 end
%o A337787 p A337787(50)
%Y A337787 Cf. A014430, A062684, A062896, see A337785 for version 1.
%K A337787 nonn,look
%O A337787 1,4
%A A337787 _Seiichi Manyama_, Sep 21 2020