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 A081454 #38 Jun 04 2023 08:43:19 %S A081454 1,1,4,1,2,8,1,2,3,6,1,2,3,4,6,1,2,3,4,6,9,1,2,3,5,6,8,10,1,2,3,4,5,6, %T A081454 8,10,1,2,3,4,5,6,8,9,10,1,2,3,4,5,6,7,9,10,14,1,2,3,4,5,7,8,9,10,12, %U A081454 14,1,2,3,4,5,6,7,8,9,12,14,15,1,2,3,4,5,6,7,8,9,10,11,14,22 %N A081454 Triangle read by rows in which the n-th row contains n distinct numbers whose product is a square, which is minimal over all choices for n distinct numbers. %C A081454 In case there is more than one solution, choose the one where the maximal number is minimal. %H A081454 Max Alekseyev, <a href="/A081454/b081454.txt">Rows n = 1..50, flattened</a> %e A081454 Triangle begins: %e A081454 1; %e A081454 1, 4; %e A081454 1, 2, 8; %e A081454 1, 2, 3, 6; %e A081454 1, 2, 3, 4, 6; %e A081454 1, 2, 3, 4, 6, 9; %e A081454 1, 2, 3, 5, 6, 8, 10; %e A081454 1, 2, 3, 4, 5, 6, 8, 10; %e A081454 1, 2, 3, 4, 5, 6, 8, 9, 10; %e A081454 ... %e A081454 The 7th row could also be 1, 2, 3, 4, 5, 8, 15, but this has a larger last term. %p A081454 A081454aux := proc(n,s,mfact) local d,findx,f ; if n = 1 then if s <= mfact then RETURN([s]) ; else RETURN([]) ; fi ; else d := numtheory[divisors](s) ; for findx from n to nops(d) do if op(findx,d) <= mfact then f := A081454aux(n-1,s/op(findx,d),op(findx,d)-1) ; if nops(f) <> 0 then RETURN([op(f),op(findx,d)]) ; fi ; fi ; od ; RETURN([]) ; fi ; end: A081454row := proc(n) local p,s,d,findx,f ; p :=1 ; s :=1 ; while true do d := numtheory[divisors](s) ; if nops(d) >= n then if n = 1 then RETURN([1]) ; else for findx from n to nops(d) do f := A081454aux(n-1,s/op(findx,d),op(findx,d)-1) ; if nops(f) <> 0 then RETURN([op(f),op(findx,d)]) ; fi ; od; fi ; fi ; p := p+1 ; s := p^2 ; od ; end: for n from 1 to 14 do r := A081454row(n) : for i from 1 to n do printf("%d,",op(i,r) ) ; od ; od : # _R. J. Mathar_, Nov 12 2006 %t A081454 T[n_] := T[n] = SortBy[MinimalBy[Select[Subsets[Range[2n+2], {n}], #[[1]] == 1 && IntegerQ@Sqrt[Times @@ #]&], Times @@ #&], Last] // First; %t A081454 Table[Print[n, " ", T[n]]; T[n], {n, 1, 12}] // Flatten (* _Jean-François Alcover_, Jun 03 2023 *) %Y A081454 Cf. A081455, A081456, A081457. %K A081454 tabl,nonn %O A081454 1,3 %A A081454 _Amarnath Murthy_, Mar 21 2003 %E A081454 Edited and extended by _David Garber_, Jun 17 2003 %E A081454 More terms from _Ray G. Opao_, Aug 01 2005 %E A081454 Corrected and extended by _R. J. Mathar_, Nov 12 2006 %E A081454 More terms from _Max Alekseyev_, Apr 25 2009 %E A081454 Correct row #13 conjectured by _Jean-François Alcover_ and confirmed by _Max Alekseyev_, Jun 03 2023