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.
%I A346928 #13 Oct 17 2021 15:25:18 %S A346928 1,2,3,6,4,12,24,5,20,60,120,30,360,720,7,42,210,840,2520,5040,8,56, %T A346928 336,1680,6720,20160,40320,9,72,504,3024,15120,60480,181440,362880,10, %U A346928 90,30240,151200,604800,1814400,3628800,11,110,990,7920,55440,332640,1663200,6652800,19958400,39916800 %N A346928 Irregular triangle read by rows; the n-th row contains, in ascending order, the distinct integers of the form n! / m! (with 1 <= m <= n) that do not appear in former rows. %C A346928 This sequence has similarities with A209260; here we consider quotients of factorial numbers, there differences of triangular numbers. %C A346928 The n-th row is included in the n-th row of A068424 and has greatest term n!. %C A346928 As a flat sequence, we have a permutation of the positive integers (any n > 0 appears among the first n rows, see A348401). %C A346928 For any prime number p, the p-th row contains p-1 terms. %H A346928 <a href="/index/Fa#factorial">Index entries for sequences related to factorial numbers</a> %H A346928 <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a> %e A346928 Triangle begins: %e A346928 1; %e A346928 2; %e A346928 3, 6; %e A346928 4, 12, 24; %e A346928 5, 20, 60, 120; %e A346928 30, 360, 720; %e A346928 7, 42, 210, 840, 2520, 5040; %e A346928 8, 56, 336, 1680, 6720, 20160, 40320; %e A346928 9, 72, 504, 3024, 15120, 60480, 181440, 362880; %e A346928 10, 90, 30240, 151200, 604800, 1814400, 3628800; %e A346928 11, 110, 990, 7920, 55440, 332640, 1663200, 6652800, 19958400, 39916800; %e A346928 ... %o A346928 (PARI) s=[]; for (n=1, 11, p=1; forstep (m=n, 1, -1, if (!setsearch(s, p*=m), s=setunion(s, [p]); print1 (p", ")))) %o A346928 (Python) %o A346928 from math import factorial %o A346928 def auptor(rows): %o A346928 alst, aset = [1], {1} %o A346928 for n in range(2, rows+1): %o A346928 fn = factorial(n) %o A346928 for m in range(n-1, 0, -1): %o A346928 fm = factorial(m) %o A346928 q, r = divmod(fn, factorial(m)) %o A346928 if r == 0 and q not in aset: %o A346928 alst.append(q); aset.add(q) %o A346928 return alst %o A346928 print(auptor(11)) # _Michael S. Branicky_, Oct 17 2021 %Y A346928 Cf. A000142, A068424, A209260, A348401. %K A346928 nonn,tabf %O A346928 1,2 %A A346928 _Rémy Sigrist_, Oct 16 2021