OFFSET
1,1
COMMENTS
The same idea as A182742 but for odd integers.
LINKS
EXAMPLE
Array begins:
3,2,2,2,2,2,2,2,2,2,2,
5,2,2,2,2,2,2,2,2,2,
4,3,2,2,2,2,2,2,2,2,
7,2,2,2,2,2,2,2,2,
3,3,3,2,2,2,2,2,2,2,
6,3,2,2,2,2,2,2,2,
5,4,2,2,2,2,2,2,2,
9,2,2,2,2,2,2,2,
5,3,3,2,2,2,2,2,2,
4,4,3,2,2,2,2,2,2,
8,3,2,2,2,2,2,2,
7,4,2,2,2,2,2,2,
6,5,2,2,2,2,2,2,
11,2,2,2,2,2,2,
4,3,3,3,2,2,2,2,2,
7,3,3,2,2,2,2,2,
6,4,3,2,2,2,2,2,
5,5,3,2,2,2,2,2,
10,3,2,2,2,2,2,
5,4,4,2,2,2,2,2,
9,4,2,2,2,2,2,
8,5,2,2,2,2,2,
7,6,2,2,2,2,2,
MAPLE
cmpL := proc(a, b) local i ; for i from 1 to min(nops(a), nops(b)) do if op(i, a) < op(i, b) then return -1 ; elif op(i, a) > op(i, b) then return 1 ; end if; end do; if nops(a) > nops(b) then return 1; elif nops(a) < nops(b) then return -1; else return 0; end if; end proc:
pShellMin := proc(p) local idx, j; idx := 1 ; for j from 2 to nops(p) do if cmpL( op(j, p), op(idx, p)) < 0 then idx := j; end if; end do; return idx ; end proc:
A141285rowf := proc(n) local p; if n <= 1 then [n] ; else psort := [] ; p := combinat[partition](n) ; while nops(p) > 0 do m := pShellMin(p) ; mmi := min(op(op(m, p))) ; if mmi > 1 then mma := max(op(op(m, p))) ; psort := [op(psort), sort(op(m, p), `>`)] ; end if; p := subsop(m=NULL, p) ; end do: psort ; end if; end proc:
for n from 1 to 17 by 2 do shl := A141285rowf(n) ; for r in shl do for k in r do printf("%d, ", k) ; end do: printf("\n") ; end do: printf("\n") ; end do: # R. J. Mathar, Dec 03 2010
PROG
(PARI)
my(p = vecsort(partitions(max_part, [2, max_part])));
for(i = 1, #p,
for(j=1, max(#p[i]+1, min(#p+1-i, 20)),
my(k=#p[i]+1-j);
print1(if(k>0, p[i][k], 2), ", "));
print("...");
);
print("...");
concat(vector(#p, i, vector(i, j, my(k=#p[i+1-j]+1-j); if(k>0, p[i+1-j][k], 2))))
}; /* Martin Fuller, Jan 15 2026 */
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Omar E. Pol, Nov 30 2010, Dec 01 2010
EXTENSIONS
a(56) onward from Martin Fuller, Jan 15 2026
STATUS
approved
