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
CROSSREFS
KEYWORD
AUTHOR
Omar E. Pol, Nov 30 2010, Dec 01 2010
STATUS
approved