%I #35 May 31 2023 11:21:03
%S 1,2,3,4,1,4,6,1,6,8,9,1,9,2,9,12,1,12,2,12,3,12,16,1,16,18,1,18,2,18,
%T 3,18,4,18,1,4,18,24,1,24,2,24,27,1,27,2,27,3,27,4,27,32,1,32,2,32,3,
%U 32,36,1,36,2,36,3,36,4,36,1,4,36,6,36,1,6,36,8,36,9,36,1,9,36,2,9,36,48,1,48
%N Irregular triangle where row n contains terms k of the partition of n produced by greedy algorithm such that all elements are in A003586.
%C This sequence uses a greedy algorithm f(x) to find the largest number k <= n such that k is in A003586. The function is recursively applied to the result until it reaches 1. This is the algorithm described in the reference p. 36. This sequence presents the terms in order from least to greatest term.
%C The reference suggests the greedy algorithm is one way to render n in a "dual-base number system", essentially base (2,3) with bases 2 and 3 arranged orthogonally to produce a matrix of places with values that are the tensor product of prime power ranges of 2 and 3. Place values are signified by 0 or 1. Thus we can boil down the matrix to simply list the values of places harboring digit 1.
%C Row n = n for n that are in A003586.
%C The reference defines a "canonic" representation of n on page 33 as having the lowest number of terms. The greedy algorithm does not always render the canonic representation. a(41) = {1,4,36}, but {9,32} is the shortest possible partition of 41 such that all terms are in A003586.
%C The terms in row n differ from the canonic terms at n = 41, 43, 59, 86, 88, 91, 113, 118, 123, 135, 155, 172, 176, 177, 182, 185, 209, 215, 226, 236, 239, 248... (i.e., A277071).
%D V. Dimitrov, G. Jullien, and R. Muscedere, Multiple Number Base System Theory and Applications, 2nd ed., CRC Press, 2012, pp. 35-39.
%H Michael De Vlieger, <a href="/A276380/b276380.txt">Table of n, a(n) for n = 1..11006</a> (Rows 1 <= n <= 3600)
%e Triangle begins:
%e 1
%e 2
%e 3
%e 4
%e 1,4
%e 6
%e 1,6
%e 8
%e 9
%e 1,9
%e 2,9
%e 12
%e 1,12
%e 2,12
%e 3,12
%e 16
%e 1,16
%e 18
%e 1,18
%e 2,18
%e 3,18
%e 4,18
%e 1,4,18
%e ...
%t Table[Reverse@ DeleteCases[Append[Abs@ Differences@ #, Last@ #], k_ /; k == 0] &@ NestWhileList[# - SelectFirst[# - Range[0, # - 1], Block[{m = #, n = 6}, While[And[m != 1, ! CoprimeQ[m, n]], n = GCD[m, n]; m = m/n]; m == 1] &] &, n, # > 1 &], {n, 49}]
%o (Python)
%o from itertools import count, takewhile
%o N = 50
%o def B(p): return list(takewhile(lambda x: x<=N, (p**i for i in count(0))))
%o B23set = set(b*t for b in B(2) for t in B(3) if b*t <= N)
%o B23lst = sorted(B23set, reverse=True)
%o def row(n):
%o if n in B23set: return [n]
%o big = next(t for t in B23lst if t <= n)
%o return row(n - big) + [big]
%o print([t for r in range(1, N) for t in row(r)]) # _Michael S. Branicky_, Sep 14 2022
%Y Cf. A003586, A237442 (least number of 3-smooth numbers that add up to n), A277070 (row lengths), A277071, A347860, A348599.
%K nonn,tabf,easy
%O 1,2
%A _Michael De Vlieger_, Sep 25 2016