%I #31 Sep 22 2020 03:54:25
%S 1,1,1,2,1,3,1,4,1,5,2,6,1,9,1,9,4,9,3,14,2,14,6,14,5,21,4,19,10,21,8,
%T 27,6,29,16,25,12,38,14,33,19,37,22,46,14,47,33,45,22,59,29,59,35,56,
%U 40,74,34,68,53,72,47,90,47,88,63,88,64,105,59,108,84,106,75,130,81,125,99,128,103,147
%N Number of addition triangles whose sum is n (version 1).
%C An addition triangle has any set of positive numbers as base; other rows are formed by adding pairs of adjacent numbers.
%C Reversing the base counts as a different triangle.
%H Seiichi Manyama, <a href="/A337785/b337785.txt">Table of n, a(n) for n = 1..500</a>
%e n |
%e -----+------------------------------------------------
%e 1 | 1
%e -----+------------------------------------------------
%e 2 | 2
%e -----+------------------------------------------------
%e 3 | 3
%e -----+------------------------------------------------
%e 4 | 2
%e | 4 1,1
%e -----+------------------------------------------------
%e 5 | 5
%e -----+------------------------------------------------
%e 6 | 3 3
%e | 6 1,2 2,1
%e -----+------------------------------------------------
%e 7 | 7
%e -----+------------------------------------------------
%e 8 | 4 4 4
%e | 8 1,3 2,2 3,1
%e -----+------------------------------------------------
%e 9 | 9
%e -----+------------------------------------------------
%e 10 | 5 5 5 5
%e | 10 1,4 2,3 3,2 4,1
%e -----+------------------------------------------------
%e 11 | 4
%e | 2,2
%e | 11 1,1,1
%e -----+------------------------------------------------
%e 12 | 6 6 6 6 6
%e | 12 1,5 2,4 3,3 4,2 5,1
%e -----+------------------------------------------------
%e 13 | 13
%e -----+------------------------------------------------
%e 14 | 5 5
%e | 7 7 7 7 7 7 2,3 3,2
%e | 14 1,6 2,5 3,4 4,3 5,2 6,1 1,1,2 2,1,1
%o (Ruby)
%o def f(n)
%o ary = [1]
%o (n - 1).times{|i|
%o ary = [0] + ary + [0]
%o ary = (0..i + 1).map{|j| ary[j] + ary[j + 1] + 1}
%o }
%o ary
%o end
%o def A(n)
%o f_ary = (1..n / 2).map{|i| [i]}
%o cnt = 1
%o s = 1
%o while f_ary.size > 0
%o s_ary = f(s + 1)
%o b_ary = []
%o f_ary.each{|i|
%o (1..i[0] - 1).each{|j|
%o a = [j]
%o (0..s - 1).each{|k|
%o num = i[k] - a[k]
%o if num > 0
%o a << num
%o else
%o break
%o end
%o }
%o if a.size == s + 1
%o sum = (0..s).inject(0){|t, m| t + s_ary[m] * a[m]}
%o if sum < n
%o b_ary << a
%o elsif sum == n
%o cnt += 1
%o end
%o end
%o }
%o }
%o f_ary = b_ary
%o s += 1
%o end
%o cnt
%o end
%o def A337785(n)
%o (1..n).map{|i| A(i)}
%o end
%o p A337785(50)
%Y Cf. A014430, A062684, A062896, A337765, A337766, see A337787 for version 2.
%K nonn,look
%O 1,4
%A _Seiichi Manyama_, Sep 21 2020